CSPSMK10A. 堆(heap)

提交3 通过2
通过率66.7%
文件IO启用
输入文件heap.in
输出文件heap.out
时间限制3000ms
内存限制1024MiB
    ID: 14559 传统题 文件IO 输入文件:heap.in 输出文件:heap.out 3000ms 1024MiB 尝试: 3 已通过: 2 难度: 提高+/省选- 上传者: 标签>C++CSP-S考前模拟

题目描述

题目描述

梦梦有一个小根堆,他会对这个小根堆做 nn 次操作。

第 ii 次操作,若 opi=1op_i=1,表示梦梦在小根堆里面加入了一个元素,这个元素为 [li:ri][l_i:r_i] 中等概率生成的随机数,若 opi=2op_i=2,表示梦梦弹出了小根堆里最小的一个元素,保证每次弹出操作时至少有一个元素。

请问所有操作完成后,小根堆中剩余元素的乘积的期望是多少,答案对 998244353998244353 取模,如果堆中一个元素也没有,则答案为 11。

即假设答案化为最简分式后为 pq\frac{p}{q},你需要输出一个 [0,998244352][0,998244352] 内的整数 ansans,使得 ans×q mod 998244353ans \times q \bmod 998244353 的值和 p mod 998244353p \bmod 998244353 相同

输入格式

第一行给出一个整数 nn。

之后 nn 行,每行第一个正整数表示 opiop_i,若 opi=1op_i=1,则后续读入两个正整数 li,ril_i,r_i,否则该行后续没有其他读入。

输出格式

输出一个整数,表示答案,答案对 998244353998244353 取模

输入样例 #1

3
1 1 4
1 1 4
2

输出样例 #1

873463812

输入样例 #2

9
1 3 8
1 2 9
1 1 6
2
1 2 5
2
1 7 10
1 4 8
2

输出样例 #2

624423011

本组为本站补充样例,不是原卷附件样例。

输入样例 #3

1
1 7 8

输出样例 #3

499122184

本组为本站补充样例,不是原卷附件样例。

输入样例 #4

2
1 4 7
1 5 8

输出样例 #4

249561124

说明提示

数据范围

对于 20%20\% 的数据,1≤n≤41 \leq n \leq 4​。

对于另外 20%20\% 的数据,1≤li≤ri≤21 \leq l_i \leq r_i \leq 2。

对于 100%100\% 的数据,1≤n≤500,1≤li≤ri≤5001 \leq n \leq 500,1 \leq l_i \leq r_i \leq 500。​