A134851.游戏
省选/NOI-
通过率:0%
时间限制:1.00s
内存限制:512MB
题目描述
Steve 和 Alice 在玩一个游戏。两个人各自选择一个长度为 n 的正整数序列 s,t,满足 si,ti≤d 且要求 s=t。初始时有一个空序列 S,两人重复以下过程直到某个人获胜:
- 等概率地在 [1,d] 之间选择一个整数,将其加入到序列 S 的末尾;
- 若此时 s 是 S 的后缀,则 Steve 直接获胜;若此时 t 是 S 的后缀,则 Alice 直接获胜;否则继续重复这个过程。
可以证明游戏结束的概率为 1。
该问题分为两个部分,分别对应子问题一或者子问题二。你可以按任意顺序解决这些子问题。特别地,你无需先完成子问题一再尝试子问题二。
- 子问题一(80 分):给出 Steve 和 Alice 选择的序列 s,t,你需要求出 Steve 获胜的概率,对 998244353 取模,保证答案在模 998244353 意义下存在。
- 子问题二(20 分):给出 Alice 选择的序列 t,你需要帮 Steve 选择一个合法的序列 s,满足 s=t 且 Steve 获胜的概率大于 21。可以证明,在题目的限制条件下,这样的 s 总是存在。
如果你不知道怎么计算一个分数对质数取模后的结果,可以参考 洛谷 P3811 【模板】模意义下的乘法逆元。
输入格式
每个测试点包含多组测试数据。输入的第一行包含两个正整数 c,T,分别表示测试点编号和测试数据的组数,对于每组测试数据:
- 若 1≤c≤8,第一行包含两个正整数 n,d,分别表示序列的长度和元素的上界;第二行包含 n 个正整数 s1,s2,…,sn,表示 Steve 选择的序列;第三行包含 n 个正整数 t1,t2,…,tn,表示 Alice 选择的序列;
- 若 9≤c≤10,第一行包含两个正整数 n,d,分别表示序列的长度和元素的上界;第二行包含 n 个正整数 t1,t2,…,tn,表示 Alice 选择的序列。
输出格式
本题采用 Special Judge,对于子任务二,你只需要构造出任意一种符合条件的序列。
对于每组测试数据:
- 若 1≤c≤8,输出一行一个整数,表示 Steve 获胜的概率对 998244353 取模后的结果;
- 若 9≤c≤10,输出一行 n 个整数 s1,s2,…,sn,表示你帮 Steve 选择的序列。
输入输出样例
输入#1
8 5 3 2 1 2 1 1 1 2 3 2 1 1 2 1 2 1 4 2 1 1 1 1 2 2 2 2 5 3 1 2 3 1 2 2 3 1 2 3 3 3 1 1 2 2 1 1
输出#1
332748118 665496236 499122177 274326693 307152109
输入#2
10 1 3 2 1 1 1
输出#2
2 1 1
说明/提示
| 测试点编号 | 特殊性质 |
|---|---|
| 1 | n=3,d=2 |
| 2−4 | T≤10,n≤100,d=2 |
| 5−6 | d=2 |
| 7−8 | 无 |
| 9 | ti=1 |
| 10 | 无 |
对于 100% 的测试点:
- 若 1≤c≤8,保证:1≤T≤104,3≤n≤2×105,2≤d≤2×105,1≤si,ti≤d,s=t,单个测试点中所有测试数据的 n 之和不超过 2×105。
- 若 9≤c≤10,保证:1≤T≤104,3≤n≤2×105,2≤d≤2×105,1≤ti≤d,单个测试点中所有测试数据的 n 之和不超过 2×105。
输入解题思路,AI测评打分。不知道怎么写?