AT_utpc2023_c.Contour Multiplication
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个长度为 2N 的数列 (A0,A1,…,A2N−1),初始时 A0=A1=⋯=A2N−1=1。
有 K 次操作。第 i 次操作,会令所有满足 popcount(j⊕Ci)=Di 的 j (0≤j<2N),将 Aj 替换为 (Aj×Xi)modM。
请输出经过所有操作之后的 A0,A1,…,A2N−1。
其中,popcount(X) 表示非负整数 X 的二进制表示中 1 的个数。
位运算 XOR(⊕)对非负整数 A,B 的定义为:将 A 和 B 的二进制表示对应位进行异或操作,得到的第 2k 位为 A 和 B 的该位若只有一个为 1 则为 1,否则为 0。
例如:3⊕5=6,因二进制 011⊕101=110。
输入格式
输入按以下格式从标准输入给出:
N M K
C1 D1 X1
C2 D2 X2
⋮
CK DK XK
输出格式
请将 A0,A1,…,A2N−1 以空格分隔,输出在一行中。
输入输出样例
输入#1
3 100 2 0 2 4 3 0 25
输出#1
1 1 1 0 1 4 4 1
输入#2
4 998244353 7 0 2 4 3 0 25 9 4 37 4 1 16 6 3 8 1 4 68 13 3 97
输出#2
1552 8 1 9700 1 64 229696 1 8 4 388 8 64 8 68 1
说明/提示
样例解释 1
第 1 次操作,A3,A5,A6 都会变为 1×4mod100=4。
第 2 次操作,A3 会被变为 4×25mod100=0。
数据范围
- 所有输入均为整数。
- 1≤N≤18
- 2≤M≤109
- 1≤K≤5×105
- 0≤Ci<2N
- 0≤Di≤N
- 2≤Xi≤109
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?