序列求和V2

105 篇文章 0 订阅
25 篇文章 0 订阅

.
题目:计算 ∑ i = 1 n r i ∗ i k \sum_{i=1}^nr^i*i^k i=1nriik其中 n ≤ 1 0 9 , k ≤ 1 0 3 n\le10^9,k\le10^3 n109,k103
一个非常巧妙的转化,设
S ( x ) = ∑ i = 1 n r i ∗ i x S(x)=\sum_{i=1}^nr^i*i^x S(x)=i=1nriix
我们要求的就是 S ( k ) S(k) S(k)
考虑将式子变形
S ( k ) = ∑ i = 1 n r i ∗ i k S(k)=\sum_{i=1}^nr^i*i^k S(k)=i=1nriik
r S ( k ) = ∑ i = 2 n + 1 r i ∗ ( i − 1 ) k rS(k)=\sum_{i=2}^{n+1}r^i*(i-1)^k rS(k)=i=2n+1ri(i1)k
( r − 1 ) S ( k ) = n k ∗ r n + 1 − r + ∑ i = 2 n r i ∗ ( ( i − 1 ) k − i k ) (r-1)S(k)=n^k*r^{n+1}-r+\sum_{i=2}^nr^i*((i-1)^k-i^k) (r1)S(k)=nkrn+1r+i=2nri((i1)kik)
后面部分用二项式展开 ∑ i = 2 n r i ∗ ( ( i − 1 ) k − i k ) \sum_{i=2}^nr^i*((i-1)^k-i^k) i=2nri((i1)kik)
= ∑ i = 2 n r i ∗ ∑ j = 0 k − 1 C k j ∗ ( − 1 ) k − j ∗ i j =\sum_{i=2}^nr^i*\sum_{j=0}^{k-1}C_k^j*(-1)^{k-j}*i^j =i=2nrij=0k1Ckj(1)kjij
= ∑ j = 0 k − 1 C k j ∗ ( − 1 ) k − j ∑ i = 2 n r i ∗ i j =\sum_{j=0}^{k-1}C_k^j*(-1)^{k-j}\sum_{i=2}^nr^i*i^j =j=0k1Ckj(1)kji=2nriij
= ∑ j = 0 k − 1 C k j ∗ ( − 1 ) k − j ∗ ( S ( j ) − r ) =\sum_{j=0}^{k-1}C_k^j*(-1)^{k-j}*(S(j)-r) =j=0k1Ckj(1)kj(S(j)r)
于是可以 O ( n 2 ) O(n^2) O(n2)递推

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值