社区讨论
求找原题
学术版参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mibod2k2
- 此快照首次捕获于
- 2025/11/23 20:09 3 个月前
- 此快照最后确认于
- 2025/11/23 20:56 3 个月前
rt
今日模拟赛题,求原题,想看一下自己是不是最优解。
题目描述
这应该是一道简单题。
你有一个长度为 n 的序列,第 i 个元素是 a_i。
定义一个区间的权值 val(L,R) 为 a_L × a_R。
q 次询问,每次给出一个区间 [l,r] ,你需要求出来所有满足 l ≤ i ≤ j ≤ r 的 val(i,j) 的和。
输入格式
第一行共 2 个整数 ( n, q )。
第二行共 ( n ) 个整数,第 ( i ) 个整数表示 ( a_i )。
接下来 ( q ) 行,每行 2 个整数表示 ( l, r )。
输出格式
输出共 ( q ) 行,第 ( i ) 行共 1 个整数,表示第 ( i ) 次询问的答案。
输入输出样例
输入 #1
CPP4 4
1 2 3 4
1 2
2 3
3 4
1 3
输出 #1
CPP7
19
37
25
说明/提示
考虑第一个样例的第一个询问,注意到求解的形如 ( val(1,1) + val(1,2) + val(2,2) = 1 + 2 + 4 = 7 )。
对于所有测试点满足 ( 1 \leq n,q \leq 10^5, 1 \leq a_i \leq 10^4 )。
每个测试点的具体限制见下表:
| 测试点编号 | ( n,q ) | 特殊性质 |
|---|---|---|
| 1~3 | ≤100 | 无 |
| 4~6 | ≤1000 | 无 |
| 7~8 | 无 | ( q=1 ) |
| 9~10 | 无 | 无 |
回复
共 2 条回复,欢迎继续交流。
正在加载回复...