求
∑k=0nf(k)xk(nk)
\sum_{k=0}^{n} f(k) x^{k} \binom{n}{k}
k=0∑nf(k)xk(kn)
n≤1000\ n \le 1000 n≤1000, m≤1000\ m \le 1000 m≤1000
求杨辉三角,枚举即可。
m=0\ m=0 m=0
根据二项式定理,即
a0∑k=0nxk(nk)=a0(x+1)n a_{0}\sum_{k=0}^{n} x^{k} \binom{n}{k}=a_{0}(x+1)^{n} a0k=0∑nxk(kn)=a0(x+1)n
m≤5\ m \le 5 m≤5
我们只需要对 y,y∈[0,m]\ y,y \in [0,m] y,y∈[0,m]求出
∑k=0nkyxk(nk)
\sum_{k=0}^{n}k^{y} x^{k} \binom{n}{k}
k=0∑nkyxk(kn)
我们设:
g(n,y,t)=∑k=0n(k+t)yxk(nk)
g(n,y,t)=\sum_{k=0}^{n} (k+t)^{y} x^{k} \binom{n}{k}
g(n,y,t)=k=0∑n(k+t)yxk(kn)
显然:
g(n,y,t)=∑k=0n(k+t)yxk(nk)=∑k=0k⋅(k+t)y−1xk(nk)+t∑k=0n(k+t)(y−1)(nk)=n∑k=1n(k+t)y−1xk(n−1k−1)+t⋅g(n,y−1,t)=nx∑k=0n−1(k+1+t)y−1(n−1k)+t⋅g(n,y−1,t)=nx⋅g(n−1,y−1,t+1)+t⋅g(n,y−1,t)
\begin{array}{rcl}
g(n,y,t) & = & \sum_{k=0}^{n} (k+t)^{y} x^{k} \binom{n}{k}\\
& = & \sum_{k=0} k \cdot (k+t)^{y-1} x^{k} \binom{n}{k} + t\sum_{k=0}^{n}(k+t)^{(y-1)}\binom{n}{k} \\
& = & n \sum_{k=1}^{n} (k+t)^{y-1} x^{k} \binom{n-1}{k-1} + t \cdot g(n,y-1,t) \\
& = & n x \sum_{k=0}^{n-1}(k+1+t)^{y-1} \binom{n-1}{k} +t \cdot g(n,y-1,t) \\
& = & n x \cdot g(n-1,y-1,t+1) + t \cdot g(n,y-1,t)
\end{array}
g(n,y,t)=====∑k=0n(k+t)yxk(kn)∑k=0k⋅(k+t)y−1xk(kn)+t∑k=0n(k+t)(y−1)(kn)n∑k=1n(k+t)y−1xk(k−1n−1)+t⋅g(n,y−1,t)nx∑k=0n−1(k+1+t)y−1(kn−1)+t⋅g(n,y−1,t)nx⋅g(n−1,y−1,t+1)+t⋅g(n,y−1,t)
y=0\ y=0 y=0时:
g(n,y,t)=(x+1)n
g(n,y,t)=(x+1)^{n}
g(n,y,t)=(x+1)n
爆搜即可。复杂度 O(2m+1)\ O(2^{m+1}) O(2m+1)。
m≤1000\ m \le 1000 m≤1000
容易发现状态只有 m(m+1)2\ \frac{m(m+1)}{2} 2m(m+1)个,记忆化即可。
探讨了在特定条件下利用杨辉三角进行多项式计算的方法,通过枚举和记忆化搜索优化复杂度。

367

被折叠的 条评论
为什么被折叠?



