题意:求式子 的值,其中 .
题解:不会做
但是硬化简一下
具体就是展开硬化简
为
然后把这个整理可以变成
以3,4,5为例
3为例:
4为例:
5为例:
上面每行最后面有个"+"号
然后这就是前缀和的变形
#include<iostream> using namespace std; typedef long long ll; ll a[300005],w[300005],f[300005]; ll mod=1e9+7; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; f[i]=(f[i-1]+a[i])%mod; } ll sum=0,ans=0; for(int i=1;i<=n;i++) cin>>w[i]; for(int i=1;i<=n;i++) { sum=(sum+(f[n-i+1]-f[i-1]+mod)%mod)%mod; ans=(ans+sum*w[i]%mod)%mod; } cout<<ans%mod; }