【每日一题】7月21日题目区间权值

区间权值

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

题意

题意就是给出一个数列和一个权值数列,然后让你按照题目中给的那个式子进行运算,认真理解一下(其实是偷看了隔壁大佬的博客,大佬博客:传送门)帮n列出来就能看到规律

解析

给出$f(l,r)=\sum_{i=l}^{r}{a_{i}}*w_{r-l+1}$,

求解

的时候
答案为

的时候
答案为
由此递推就完事了

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int N = 3e5 + 7;
const ll MOD=1e9+7;
ll a[N];
int main(void) {
    int n ;
    scanf("%d",&n);
    for (int i = 1; i <= n; ++i) {
        scanf("%lld",&a[i]);
        a[i] = (a[i] + a[i - 1]) % MOD;
    }
    ll ans = 0, sum = 0;
    ll w;
    for (int i = 1; i <= n; ++i) {
        scanf("%lld",&w);
        sum = (sum + a[n - i + 1] - a[i - 1] + MOD) % MOD;
        ans = (ans + sum * w) % MOD;
    }
    printf("%lld\n",ans);
    return 0;
}
每日一题 文章被收录于专栏

写每日一题呀

全部评论

相关推荐

找个工作&nbsp;学历是要卡的&nbsp;要求是高的&nbsp;技能不足是真的&nbsp;实习经验是0的&nbsp;简历无处可写是事实的&nbsp;钱不好赚是真的&nbsp;想躺平又不敢躺&nbsp;也不甘心躺&nbsp;怕自己的灵感和才华被掩埋甚至从未被自己发现&nbsp;又质疑自己是否真正有才华
码农索隆:你现在啊,你心里都明白咋回事,但是你没办法改变现状,一想到未来,你又没有信心狠下心来在当下努力。 得走出这种状态,不能一直困在那里面,哪不行就去提升哪,你一动不动那指定改变不了未来,动起来,积少成多才能越来越好
点赞 评论 收藏
分享
求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
牛客84809583...:举报了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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