准高一考完中考又来打竞赛了,服了,好消息是可以去北大附中本部训练
P5686 [CSP-S2019 江西] 和积和 题解
P5686 [CSP-S2019 江西] 和积和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
[CSP-S2019 江西] 和积和
题目描述
给定两个下标从1到n编号的序列ai,bi,定义函数S(l,r)(1≤l≤r≤n)为:
i=l∑rai×i=l∑rbi
请你求出下列式子的值:
l=1∑nr=l∑nS(l,r)
由于答案可能很大,你只需要给出答案模109+7后的结果。
输入格式
第一行一个正整数n表示序列长度。
第二行n个正整数表示ai。
第三行n个正整数表示bi。
输出格式
仅一行一个整数表示答案模109+7后的结果。
样例 #1
样例输入 #1
3
2 3 4
3 4 5
样例输出 #1
244
样例 #2
样例输入 #2
5
11 22 33 44 55
12 34 56 78 90
样例输出 #2
201542
提示
【数据范围】
对于20%的数据:n≤10,ai,bi≤10;
对于40%的数据:n≤200,ai,bi≤100;
对于70%的数据:n≤3000,ai,bi≤105;
对于100%的数据:3≤n≤5×105,1≤ai,bi≤109。
初三生看到这个慌了,但是别慌,看ai的解释
当然,我可以帮你解释这一段 LaTeX 代码:
suml=1n∑r=lnmax(a[l...r])
这是一个嵌套求和表达式,分为以下几部分:
1.外层求和∑l=1n:表示对l从 1 到n进行求和。
2.内层求和∑r=ln:在每个固定的l值下,表示对r从l到n进行求和。
3.最大值函数max(a[l...r]):表示在数组a的子数组a[l]到a[r]之间取最大值。
组合在一起,这个表达式的意思是:
对于数组a中的所有可能的子数组a[l...r](其中1≤l≤r≤n),求这些子数组的最大值的和。
逐步解释如下:
-
选定左端点l从 1 到n。
-
对于每个l,选定右端点r从l到n。
-
计算子数组a[l]到a[r]的最大值。
-
将所有这些最大值相加。
总的来说,这个表达式代表的是将所有可能的子数组的最大值进行累加的结果。