ABC399F - Range Power Sum 题解

题意

给定 n,k 和长度为 n 的序列 A ,求:

$$
\sum_{1\le l\le r\le n} (\sum_{l\le i\le r}A_i)^k
$$

思路

DP+推式子+二项式定理。

假设:

$$
S_i=\sum_{i=1}^n A_i 
$$

$$
f_{i,B}=\sum_{l=1}^i(S_i-S_{l-1})\\
=\sum_{l=1}^{i-1}(S_i-S_{l-1})^B+(S_i-S_{i-1})^B\\
=\sum_{l=1}^{i-1}(S_{i-1}-S_{l-1}+A_i)^B+A_i^B\\
$$

即答案为:

$$
\sum_{i=1}^n f_{i,B}
$$

由二项式定理,得:

$$
\sum_{l=1}^{i-1}(S_{i-1}-S_{l-1}+A_i)^B\\
=\sum_{l=1}^{i-1}\sum_{k'=0}^B\text{C}^{k'}_BA_i^{(B-k')}(S_{i-1}-S_{l-1})^{k'}\\
=\sum_{k'=0}^B\text{C}^{k'}_BA_i^{(B-k')}\sum_{l=1}^{i-1}(S_{i-1}-S_{l-1})^{k'}\\
=\sum_{k'=0}^B\text{C}^{k'}_BA_i^{(B-k')}f_{i-1,k'}\\
$$

计算 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值