区间权值

区间权值

https://ac.nowcoder.com/acm/problem/19798

题意:求式子图片说明 的值,其中图片说明 .
题解:不会做
但是硬化简一下
具体就是展开硬化简
图片说明图片说明
然后把这个整理可以变成
以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;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务