Sequence Scoring System

2 secs 1024 MB
yuki4869's icon yuki4869

この問題は JJ 問題の部分問題です。 JJ 問題を ACAC したコードで正答することができます。

問題文

整数 MM、長さ NN の整数列C=(C1,C2,,CN)C=(C_1,C_2,\ldots,C_N)、およびM×MM \times M の整数行列 WW が与えられます。各 CiC_i00 以上 M1M-1 以下の整数です。

QQ 個のクエリが与えられるので、順に処理してください。

クエリは以下の 22 種類です。

  • タイプ 111 l r xの形式で与えられる。

    すべての整数 i=l,l+1,,ri=l,l+1,\ldots,r について、CiC_i を次の値に変更する。

    Ci(Ci+x)modMC_i \leftarrow (C_i+x) \bmod M

  • タイプ 222 l rの形式で与えられる。

    次の値を 998244353998244353 で割った余りを出力する。

    li<jrWCi,Cj\displaystyle \sum_{l \leq i < j \leq r} W_{C_i,C_j}

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Q1041 \leq Q \leq 10^4
  • 2M62 \leq M \leq 6
  • 0Ci<M0 \leq C_i < M
  • 0Wi,j<9982443530 \leq W_{i,j} < 998244353
  • タイプ 11 のクエリについて、1lrN1 \leq l \leq r \leq N
  • タイプ 11 のクエリについて、0x<M0 \leq x < M
  • タイプ 22 のクエリについて、1lrN1 \leq l \leq r \leq N
  • 入力はすべて整数である

入力

入力は以下の形式で標準入力から与えられます。

N  MC1  C2  ...  CNW0,0  W0,1  ...  W0,M1W1,0  W1,1  ...  W1,M1...WM1,0  WM1,1  ...  WM1,M1Qquery1query2...queryQN\ \ M\\ C_1\ \ C_2\ \ ...\ \ C_N\\ W_{0,0}\ \ W_{0,1}\ \ ...\ \ W_{0,M-1}\\ W_{1,0}\ \ W_{1,1}\ \ ...\ \ W_{1,M-1}\\ ...\\ W_{M-1,0}\ \ W_{M-1,1}\ \ ...\ \ W_{M-1,M-1}\\ Q\\ query_1\\ query_2\\ ...\\ query_Q

出力

タイプ 22 のクエリの個数を qq として、qq 行出力せよ。 ii 行目には ii 個目のタイプ 22 のクエリに対する答えを出力せよ。

入力例1

4 3
0 1 2 0
0 1 2
3 4 5
6 7 8
4
2 1 2
1 2 4 1
2 3 3
2 1 4

出力例1

1
0
17

はじめ、数列 C=(0,1,2,0)C=(0,1,2,0) です。また、整数行列 WW は次のようになっています。

W=(012345678)W= \begin{pmatrix} 0 & 1 & 2\\ 3 & 4 & 5\\ 6 & 7 & 8 \end{pmatrix}

11つ目のクエリでは、C1,C2=(0,1)C_1,C_2=(0,1)であり、答えはW0,1=1W_{0,1}=1です。

22つ目のクエリでは、区間 [2,4][2,4] の各要素に 11 を加え、33 で割った余りに置き換えます。よって、数列 C=(0,2,0,1)C=(0,2,0,1) となります。

33つ目のクエリでは、区間 [3,3][3,3] に含まれる要素は 11 個だけです。この区間からは、i<ji<j を満たす 22 つの添字を選ぶことができません。したがって、答えは 00 です。

Submit


Go (1.21)