| 题目名称 | 4273. [THUPC 2025 pre] 乒乓球赛 |
|---|---|
| 输入输出 | thupc_2025_pre_pingpong.in/out |
| 难度等级 | ★★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 16 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 查看题解 | 分享题解 |
| 通过:1, 提交:1, 通过率:100% | ||||
|
|
100 | 1.279 s | 1.62 MiB | C++ |
| 关于 乒乓球赛 的近10条评论(全部评论) |
|---|
thupc_2025_pre_pingpong.in
输出文件:thupc_2025_pre_pingpong.out
简单对比Menji 喜欢看乒乓球比赛,但由于观赛的人太多,他只能听到一部分的信息。
乒乓球赛一共包含 $T$ 局,一局乒乓球的过程如下:
两位选手分别有得分,用 $s_A$ 和 $s_B$ 表示,初始 $s_A=s_B=0$。
接下来会进行若干个回合,在第 $i$ 个回合,会有一个获胜者 $win_i(win_i\in\{\text{A},\text{B}\})$,若 $win_i=\text{A}$ 则 $A$ 的得分 $+1$,即 $s_A=s_A+1$,否则 $B$ 的得分 $+1$,即 $s_B=s_B+1$。当任意一名选手达到 $11$ 分,且领先另一名选手至少 $2$ 分时(即 $\max(s_A,s_B)\geq 11$, $\max(s_A,s_B)-\min(s_A,s_B)\geq 2$),该局立刻结束。
对于每一局比赛,Menji 听到了最终该局进行的回合数 $n$,以及一部分时刻结束时的比分,例如 Menji 可能在第 $5$ 回合结束时听到比分是 $3:2$,但 Menji 并不知道哪一名选手获得了 $3$ 分,只知道其中一名选手获得了 $3$ 分,另外一名选手获得了 $2$ 分。
具体的,Menji 的信息可以被表示为一个非负整数 $n$,表示该局恰好进行了 $n$ 个回合,以及 $2$ 个长为 $n$ 的序列 $a_1\cdots a_n,b_1\cdots b_n$。对于每一个 $i(1\leq i\leq n)$,若 $a_i=b_i=-1$,则 Menji 没有听到任何第 $i$ 个回合结束时的信息,否则保证 $0\leq a_i,b_i\leq n$,表示在第 $i$ 个回合结束时,一定满足 $s_A=a_i,s_B=b_i$ 或 $s_A=b_i,s_B=a_i$。
显然,很多时候 Menji 的信息并不能还原比赛每一局每一回合的获胜者,甚至有时候 Menji 的信息会是错误的。Menji 想要知道,有多少个获胜者序列 $win_1\cdots win_n$ 满足他已知的所有信息?
由于答案可能很大,请输出答案对 $998244353$ 取模的结果。
第一行一个整数 $T(1\leq T\leq 10^5)$,表示乒乓球比赛的局数。
对于每一局:
第一行一个整数 $n$,表示比赛恰好进行了 $n(1\leq n\leq 10^5)$ 回合。
之后 $n$ 行,每行两个整数 $a_i,b_i$,满足 $a_i=b_i=-1$ 或 $0\leq a_i,b_i\leq n$,表示 Menji 已知的一部分信息。
保证总回合数不超过 $5\times 10^5$,即 $\sum n\leq 5\times 10^5$。
对于每一局,输出一行一个数,表示可能的获胜者序列个数,对 $998244353$ 取模。
7 11 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 11 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 11 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 11 22 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 11 9 -1 -1 -1 -1 22 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 23 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 22 -1 -1 1 1 -1 -1 3 1 -1 -1 4 2 -1 -1 2 6 -1 -1 -1 -1 5 6 -1 -1 -1 -1 7 7 -1 -1 -1 -1 9 8 -1 -1 9 10 -1 -1 11 10 -1 -1
2 0 0 0 369512 0 864
比赛总共进行了 $6$ 局。