区间和的和
发布日期:2021-05-07 06:54:29 浏览次数:17 分类:原创文章

本文共 427 字,大约阅读时间需要 1 分钟。

题目链接:

在这里插入图片描述在这里插入图片描述

思路

我们可以看每个数出现在了多少个区间中,可以看出出现了 i ∗ ( n − i + 1 ) i * (n - i + 1) i(ni+1)次。
那么,我们用这个值乘以它,把他们的值加在一起,就是区间和的和了。
(记得对 1000000009 1000000009 1000000009取模)

代码

#include<cstdio>#define ll long longusing namespace std;ll n, a, ans;int main() {   	scanf("%lld", &n);//读入		for (ll i = 1; i <= n; i++) {   		scanf("%lld", &a);//读入		ans = (ans + a * (i * (n - i + 1))) % 1000000007;//加上它所出现的次数*它	}		printf("%lld", ans);//输出	return 0;}
上一篇:java中的字符串
下一篇:Java的数据类型及作为方法参数时的区别

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年03月24日 12时41分24秒