题目描述
yosupo 君非常喜欢查询类问题,因此他设计了如下的问题。
A Query Problem
有一个长度为 N 的整数序列 a1,…,aN。初始时,ai=0 (1≤i≤N)。另外,还有一个变量 ans,初始时 ans=0。接下来会有 Q 个如下形式的查询:
-
查询 1:
- ti(=1) li ri vi
- 对于每个 j=li,…,ri,执行 aj:=min(aj,vi)
-
查询 2:
- ti(=2) li ri vi
- 对于每个 j=li,…,ri,执行 aj:=max(aj,vi)
-
查询 3:
- ti(=3) li ri
- 计算 ali+…+ari,并将其加到 ans 上
请输出最终的 ans 的值。
其中,对于每个查询,1≤li≤ri≤N,并且对于查询 1、2,有 0≤vi≤M−1。
maroon 君觉得这个问题太简单了,于是又提出了如下的问题。
Query Problems
给定正整数 N,M,Q。对于问题 “A Query Problem”,其输入共有 (2(N+1)N⋅(M+M+1))Q 种可能。请计算所有这些输入对应的输出 ans 的和,并对 998,244,353 取模。
请你求出答案。
输入格式
输入从标准输入中给出。
N M Q
输出格式
请输出答案。
样例 1
输入
1 2 2
输出
1
样例 2
输入
3 1 4
输出
0
样例 3
输入
111 112 113
输出
451848306
说明/提示
数据范围
- 1≤N,M,Q≤200000
- 输入的所有数均为整数
样例解释 1
所有可能的输入共有 25 种,其中 ans 会大于 0 的输入只有一种:$t\_1=2,\ l\_1=1,\ r\_1=1,\ v\_1=1,\ t\_2=3,\ l\_2=1,\ r\_2=1$。此时 ans=1,所以答案为 1。
由 ChatGPT 4.1 翻译