题目描述
给定一个包含 N 个整数 A1,…,AN 的数组 A 和一个整数 K。你需要进行 Q 次操作,包括下列两种类型:
- 1 i1 i2 … iK:将 Ai1,Ai2,…,AiK−1,AiK 的值依次替换为 Ai2,Ai3,…,AiK,Ai1 的值。其中,i1,…,ik 互不相同。
- 2 l r m:输出 [l,r] 区间内所有长度为 m 的连续子序列的元素和。
输入格式
第一行两个整数 N,K。
第二行 N 个整数,表示数组 A 的 N 个整数。
第三行一个整数 Q,表示操作次数。
接下来 Q 行,每行若干个整数,表示一次操作。
输出格式
输出包含若干行整数,即为所有操作 2 的结果。
8 3
7 2 5 1 9 3 4 6
3
2 2 7 4
1 2 5 8
2 2 7 3
52
50
提示
样例解释
第一次询问需要求出 {2,5,1,9,3,4} 中所有长度为 4 的连续子序列的元素和。这些子序列包括 {2,5,1,9},{5,1,9,3},{1,9,3,4}。因此答案为 52。
第二次询问需要将 A2,A5,A8 依次替换为 A5,A8,A2 的值。替换后数组变为 {7,9,5,1,6,3,4,2}。
第三次询问需要求出 {9,5,1,6,3,4} 中所有长度为 3 的连续子序列的元素和。这些子序列包括 {9,5,1},{5,1,6},{1,6,3},{6,3,4}。因此答案为 50。
数据规模与约定
本题采用捆绑测试。
- Subtask 1(36 pts):1≤N,Q≤104 且 K=1。
- Subtask 2(56 pts):10001≤N,Q≤105 且 K=1。
- Subtask 3(8 pts):1≤N,Q≤105 且 2≤K≤10。
对于 100% 的数据,0≤Ai≤106,1≤l≤r≤N,1≤m≤r−l+1。
说明
本题译自 eJOI2021 Day 1 A AddK。