loj#P3583. 「eJOI2021」加 K

「eJOI2021」加 K

题目描述

本题译自 eJOI2021 Problem A. Addk

给定一个长为 NN 的数组 AA 以及整数 KK。你需要接下来处理 QQ 组询问,询问有以下两种:

  • 1i1i2iK1\,i_1\,i_2\,\dots\,i_K:你需要将 Ai1,Ai2,,AiKA_{i_1},A_{i_2},\dots,A_{i_K} 向左循环移位,也就是说 Ai1,Ai2,,AiKA_{i_1},A_{i_2},\dots,A_{i_K} 的新的值应当是 Ai2,Ai3,,AiK,Ai1A_{i_2},A_{i_3},\dots,A_{i_K}, A_{i_1}。注意 i1,i2,,iKi_1,i_2,\dots,i_K 是不同的,但不一定递增。
  • 2lrm2\,l\,r\,m:你需要将 Al,Al+1,,ArA_l,A_{l+1},\dots,A_{r} 的所有长为 mm 的子区间的和进行求和。注意,出现多次的子区间必须被加多次。

输入格式

第一行输入两个正整数 N,KN,K

接下来一行输入 NN 个整数,依次表示 AiA_i

第三行输入一个正整数 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

数据范围与提示

  • 0Ai1060\le A_i\le 10^6
  • 1lrN1\le l\le r\le N
  • 1mrl+11\le m\le r-l+1
# 分值 限制
11 3636 1N,Q104,K=11\le N,Q\le 10^4,K=1
22 5656 1N,Q105,K=11\le N, Q\le 10^5, K=1
33 88 1N,Q105,2K101\le N,Q\le 10^5,2\le K\le 10