zoukankan      html  css  js  c++  java
  • 【清华集训2016】如何优雅地求和

    记多项式第(i)项系数是(b_i)

    [ans = b_0 + sum_{i=1}^{m}b_i sum_{k=1}^{n} k^i inom{n}{k} x^k(1-x)^{n-k} ]

    我们考虑用第二类斯特林数展开(k^i)

    [k^i=sum_{j=1}^{i}S(i,j)j! inom{k}{j} ]

    于是

    [ egin{aligned} ans &= b_0 + sum_{i=1}^{m}b_i sum_{k=1}^{n} k^i inom{n}{k} x^k(1-x)^{n-k}\ &= b_0 + sum_{i=1}^{m}b_i sum_{k=1}^{n} sum_{j=1}^{i}S(i,j)j! inom{k}{j} inom{n}{k} x^k(1-x)^{n-k}\ &= b_0 + sum_{i=1}^{m}b_i sum_{j=1}^{i}S(i,j)j! sum_{k=j}^{n} inom{k}{j} inom{n}{k} x^k(1-x)^{n-k}\ &= b_0 + sum_{i=1}^{m}b_i sum_{j=1}^{i}S(i,j)j! sum_{k=j}^{n} inom{n}{j} inom{n-j}{k-j} x^k(1-x)^{n-k}\ &= b_0 + sum_{i=1}^{m}b_i sum_{j=1}^{i}S(i,j)j! inom{n}{j} x^j sum_{k=j}^{n} inom{n-j}{k-j} x^{k-j}(1-x)^{n-k}\ &= b_0 + sum_{i=1}^{m}b_i sum_{j=1}^{i}S(i,j)j! inom{n}{j} x^j\ end{aligned} ]

    获得一个(O(m^2))做法

    我们考虑优化,展开第二类斯特林数

    [S(i,j)=frac{1}{j!} sum_{k=1}^{j}(-1)^{j-k} inom{j}{k} k^i = frac{1}{j!} sum_{k=1}^{infty}(-1)^{j-k} inom{j}{k} k^i ]

    于是

    [ egin{aligned} ans &= b_0 + sum_{i=1}^{m}b_i sum_{j=1}^{i}S(i,j)j! inom{n}{j} x^j\ &= b_0 + sum_{j=1}^{i} j! inom{n}{j} x^j sum_{i=1}^{m}b_i S(i,j)\ &= b_0 + sum_{j=1}^{i} j! inom{n}{j} x^j sum_{i=1}^{m}b_i frac{1}{j!} sum_{k=1}^{j}(-1)^{j-k} inom{j}{k} k^i\ &= b_0 + sum_{j=1}^{i} inom{n}{j} x^j sum_{i=1}^{m}b_i sum_{k=1}^{m}(-1)^{j-k} inom{j}{k} k^i\ &= b_0 + sum_{j=1}^{i} inom{n}{j} x^j sum_{k=1}^{m}(-1)^{j-k} inom{j}{k} sum_{i=1}^{m}b_ik^i\ end{aligned} ]

    发现(sum_{i=1}^{m}b_ik^i)就是(f(k)-b_0)

    出题人非常凉心地给出了点值让我们不需要多点求值

    于是

    [ egin{aligned} ans &= b_0 + sum_{j=1}^{i} inom{n}{j} x^j sum_{k=1}^{m}(-1)^{j-k} inom{j}{k} sum_{i=1}^{m}b_ik^i\ &= b_0 + sum_{j=1}^{i} inom{n}{j} x^j sum_{k=1}^{m}(-1)^{j-k} inom{j}{k} (f(k)-b_0)\ end{aligned} ]

    后面的部分是一个卷积的形式,NTT解决

    (b_0)显然是(f(0))

    于是就做完了

    时间复杂度(O(mlogm))

    不过据说各种(O(m^2))做法乱艹过这题

  • 相关阅读:
    youku客户端
    youku服务端
    [计算机网络]从页面输入网址,回车到显示内容,这中间到底经历了什么
    [碎碎念]在嘛,吱一声.吱...
    [数据结构与算法]08 队列( Queue )以及队列实现的三种方式( Java 版)
    过年了,随便说点儿啥
    [碎碎念]为什么要写易维护的代码
    [碎碎念]如何成为更好的自己
    [年终总结]愿你在以后的黑暗时刻,都能想起我
    [数据结构与算法]07 关于单链表环的操作( Java 版)
  • 原文地址:https://www.cnblogs.com/deaf/p/14487211.html
Copyright © 2011-2022 走看看