CF2034F2.Khayyam's Royal Decree (Hard Version)
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这是本题的困难版本。两个版本的唯一区别在于 k 和 ∑k 的限制。
Khayyam 有一个宝箱,宝箱里初始有 n 个红宝石和 m 个蓝宝石。一个红宝石的价值为 2,一个蓝宝石的价值为 1。他还有一个背包,初始为空。另外,他还有 k 张卷轴,第 i 张卷轴上有数对 (ri,bi)。
Khayyam 将进行一个游戏,游戏共 n+m 轮,每轮流程如下:
- Khayyam 从宝箱中等概率随机拿出一个宝石。
- 他将这个宝石放入背包中。
- 若存在一张卷轴 i,使得宝箱中恰有 ri 个红宝石和 bi 个蓝宝石,将所有背包里的宝石的价值翻倍。
一个宝石的价值可以被多次翻倍。
求游戏结束时 Khayyam 背包里宝石的价值总和的期望值,对 998244353 取模。
输入格式
多测,第一行一个整数 T 表示数据组数。
每组数据的第一行三个整数 n,m,k。
接下来 k 行,每行两个整数 ri,bi。
保证 1≤T≤500,1≤n,m,∑n,∑m≤2×105,1≤k,∑k≤5000。
保证 0≤ri≤n,0≤bi≤m,1≤ri+bi≤n+m−1,且 (ri,bi) 两两不同。
输出格式
一行一个整数,表示答案对 998244353 取模的值。
样例解释
对于第一组数据,最终背包里总会有 3 个红宝石和 4 个蓝宝石,不会有卷轴被触发。因此背包里宝石的总价值总是 2×3+1×4=10。
对于第二组数据:
- 有 21 概率,Khayyam 先拿出红宝石再拿出蓝宝石,不会有卷轴被触发,总价值为 3;
- 有 21 概率,Khayyam 先拿出蓝宝石再拿出红宝石,卷轴 1 会被触发,蓝宝石的价值翻倍,总价值为 4。
因此总价值的期望是 21×3+21×4=27≡499122180(mod998244353)。
输入输出样例
输入#1
5 3 4 0 1 1 1 1 0 3 3 2 1 1 2 2 3 3 2 2 1 1 2 10 4 5 1 0 8 0 6 4 0 2 7 4
输出#1
10 499122180 798595498 149736666 414854846
输入解题思路,AI测评打分。不知道怎么写?