atcoder#ARC111F. [ARC111F] Do you like query problems?

[ARC111F] Do you like query problems?

题目描述

yosupoくんはクエリの問題が大好きなので、次のような問題を作りました。


A Query Problem

長さ N N の整数列 a1,,aN a_1,\ldots,a_N があります。はじめは ai = 0 (1  i  N) a_i\ =\ 0\ (1\ \leq\ i\ \leq\ N) です。 また、ans ans という変数があり、はじめは ans = 0 ans\ =\ 0 です。 ここに、次の形式のクエリが Q Q 個来ます。

  • クエリ1:

    • ti (=1) t_i\ (=1) li l_i ri r_i vi v_i
    • j = li,,ri j\ =\ l_i,\ldots,r_i に対して、aj := min(aj,vi) a_j\ :=\ \min(a_j,v_i)
  • クエリ2:

    • ti (=2) t_i\ (=2) li l_i ri r_i vi v_i
    • j = li,,ri j\ =\ l_i,\ldots,r_i に対して、aj := max(aj,vi) a_j\ :=\ \max(a_j,v_i)
  • クエリ3:

    • ti (=3) t_i\ (=3) li l_i ri r_i
    • ali +  + ari a_{l_i}\ +\ \ldots\ +\ a_{r_i} を計算して、ans ans に足す

最終的な ans ans の値を出力してください。

ただし、各クエリについて、1 1 \leq li l_i \leq ri r_i \leq N N が、さらにクエリ1,2については 0 0 \leq vi v_i \leq M1 M-1 が成立する。


この問題を見たmaroonくんは簡単すぎると感じたため、次の問題を考えました。


Query Problems

正整数 N,M,Q N,M,Q が与えられます。問題 "A Query Problem" に対する入力は ( (N+1)N2  (M+M+1) )Q (\ \frac{(N+1)N}{2}\ \cdot\ (M+M+1)\ )^Q 通りありますが、それらに対する出力のすべての和を 998,244,353 998{,}244{,}353 で割った余りを求めてください。


求めてください。

输入格式

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

N N M M Q Q

输出格式

答えを出力せよ。

题目大意

给出三个数 n,m,qn,m,q

你有一个长度为 nn 的序列 aa,初始全为为 00,你有三种操作:
操作 11:给出 l,r,vl,r,v,让区间 [l,r][l,r]vvmin\min
操作 22:给出 l,r,vl,r,v,让区间 [l,r][l,r]vvmax\max
操作 33,给出 l,rl,r,求区间和,将其累加进一个叫 sumsum 的变量里。

你并不需要维护这个数据结构,而是统计一共有 qq 个操作的情况下,所有不同的操作序列中 33 操作得到的 sumsum 的总和,对 998244353998244353 取模。你需要保证 v[0,m1]v\in[0,m-1]

1 2 2
1
3 1 4
0
111 112 113
451848306

提示

制約

  • 1  N,M,Q  200000 1\ \leq\ N,M,Q\ \leq\ 200000
  • 入力される数はすべて整数

Sample Explanation 1

ありうる入力は 25 25 通りありますが、そのうち ans ans が正になるような入力は、次の一通りです: $ t_1\ =\ 2,\ l_1\ =\ 1,\ r_1\ =\ 1,\ v_1\ =\ 1,\ t_2\ =\ 3,\ l_2\ =\ 1,\ r_2\ =\ 1 $ このとき ans ans 1 1 になるので、答えは 1 1 です。