#P8165. [eJOI2021] AddK

[eJOI2021] AddK

题目描述

给定一个包含 NN 个整数 A1,,ANA_1,\dots,A_N 的数组 AA 和一个整数 KK。你需要进行 QQ 次操作,包括下列两种类型:

  • 11 i1i_1 i2i_2 \dots iKi_K:将 Ai1,Ai2,,AiK1,AiKA_{i_1},A_{i_2},\dots,A_{i_{K-1}},A_{i_K} 的值依次替换为 Ai2,Ai3,,AiK,Ai1A_{i_2},A_{i_3},\dots,A_{i_K},A_{i_1} 的值。其中,i1,,iki_1,\dots,i_k 互不相同。
  • 22 ll rr mm:输出 [l,r][l,r] 区间内所有长度为 mm 的连续子序列的元素和。

输入格式

第一行两个整数 N,KN,K

第二行 NN 个整数,表示数组 AANN 个整数。

第三行一个整数 QQ,表示操作次数。

接下来 QQ 行,每行若干个整数,表示一次操作。

输出格式

输出包含若干行整数,即为所有操作 22 的结果。

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}\{2,5,1,9,3,4\} 中所有长度为 44 的连续子序列的元素和。这些子序列包括 {2,5,1,9},{5,1,9,3},{1,9,3,4}\{2,5,1,9\},\{5,1,9,3\},\{1,9,3,4\}。因此答案为 5252

第二次询问需要将 A2,A5,A8A_2,A_5,A_8 依次替换为 A5,A8,A2A_5,A_8,A_2 的值。替换后数组变为 {7,9,5,1,6,3,4,2}\{7,9,5,1,6,3,4,2\}

第三次询问需要求出 {9,5,1,6,3,4}\{9,5,1,6,3,4\} 中所有长度为 33 的连续子序列的元素和。这些子序列包括 {9,5,1},{5,1,6},{1,6,3},{6,3,4}\{9,5,1\},\{5,1,6\},\{1,6,3\},\{6,3,4\}。因此答案为 5050

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(36 pts):1N,Q1041 \le N,Q \le 10^4K=1K=1
  • Subtask 2(56 pts):10001N,Q10510001 \le N,Q \le 10^5K=1K=1
  • Subtask 3(8 pts):1N,Q1051 \le N,Q \le 10^52K102 \le K \le 10

对于 100%100\% 的数据,0Ai1060 \le A_i \le 10^61lrN1 \le l \le r \le N1mrl+11 \le m \le r-l+1

说明

本题译自 eJOI2021 Day 1 A AddK。