[省选联考 2022] 卡牌(暂无数据)
题目背景
1 s
512 MiB
题目描述
小 A 有 nnn 张卡牌,编号为 1,2,…,n1, 2, \ldots, n1,2,…,n。每张卡牌上写着一个正整数,第 iii 张卡牌上的正整数为 sis_isi。
现在有 mmm 轮游戏,第 iii 轮游戏会给出 cic_ici 个质数,小 A 需要选择任意多张卡牌,使得这些卡牌上面的正整数的乘积能被该轮游戏给出的每个质数整除。
这当然难不倒小 A,于是他开始思考一个更难的问题,对于每一轮游戏,他有多少种卡牌的选法。
这给小 A 整不会了,于是他只能来求助你,你只需要告诉他答案模 998244353998244353998244353 的值即可。两种选法 A 和 B 互不相同当且仅当存在一张卡牌在 A 中被选择但在 B 中未被选择或者存在一张卡牌在 B 中被选择但在 A 中未被选择。注意:牌面上的数字相同但编号不相同的两张卡牌被视为不同的卡牌。
输入格式
第一行一个正整数 nnn,表示卡牌数量。
第二行 nnn 个正整数 sis_isi,表示每张卡牌上写的数字。
第三行一个正整数 mmm,表示游戏轮数。
接下来 mmm 行,每行第一个正整数 cic_ici,表示该轮游戏给出的质数个数,接下来 cic_ici 个质数 pi,jp_{i, j}pi,j,表示该轮游戏给出的所有质数。数据保证 ∑ici≤18000\sum_i c_i \le 18000∑ici≤18000,即所有 cic_ici 之和不超过 180001800018000。
输出格式
输出 mmm 行,每行一个整数,第 iii 行表示第 iii 轮游戏的方案数模 998244353998244353998244353 的值。
输入输出样例
样例输入1
5
10 2 10 5 46
4
2 2 5
2 2 23
1 3
1 23
样例输出1
27
16
0
16
样例输入2
见附件中的 card/card2.in
样例输出2
见附件中的 card/card2.ans
说明/提示
【样例解释 #1】
第一轮游戏:除了以下 555 种方案外其它方案都可行:什么都不选、选 222、选 555、选 464646、选 222 和 464646。所以答案为 25−5=272^5 - 5 = 2725−5=27。
第二轮游戏:只要选了 464646,其它卡牌选不选均可,所以答案为 24=162^4 = 1624=16。
【数据范围】
对于 100%100 \%100% 的数据,1≤n≤1061 \le n \le {10}^61≤n≤106,1≤si≤20001 \le s_i \le 20001≤si≤2000,1≤m≤15001 \le m \le 15001≤m≤1500,1≤ci,∑ici≤180001 \le c_i, \sum_i c_i \le 180001≤ci,∑ici≤18000,2≤pi,j≤20002 \le p_{i, j} \le 20002≤pi,j≤2000。
| 测试点 | n≤n \len≤ | m≤m \lem≤ | ∑ici≤\sum_i c_i \le∑ici≤ | 其他限制 |
|---|---|---|---|---|
| 1∼21 \sim 21∼2 | 101010 | 101010 | 202020 | si≤30s_i \le 30si≤30 |
| 3∼53 \sim 53∼5 | 101010 | 202020 | 505050 | 无 |
| 6∼86 \sim 86∼8 | 106{10}^6106 | 150015001500 | 100001000010000 | si≤30s_i \le 30si≤30 |
| 9∼119 \sim 119∼11 | 100001000010000 | 100010001000 | 500050005000 | si≤500s_i \le 500si≤500 |
| 12∼1312 \sim 1312∼13 | 100010001000 | 100100100 | 100010001000 | 无 |
| 14∼1714 \sim 1714∼17 | 500050005000 | 600600600 | 700070007000 | 无 |
| 18∼2018 \sim 2018∼20 | 106{10}^6106 | 150015001500 | 180001800018000 | 无 |

这是一个关于数学和算法的挑战,小A需要在多轮游戏中选择卡牌,使得卡牌上的数字乘积能被每轮给出的质数整除。每轮游戏的方案数需要模998244353计算。问题涉及质数分解、组合计数和高精度计算,要求在限定的数据范围内找到解决方案。
1453

被折叠的 条评论
为什么被折叠?



