记多项式第(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))做法乱艹过这题