AT_arc145_e.[ARC145E] Adjacent XOR
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个长度为 N 的非负整数序列 A=(A1,A2,…,AN) 和 B=(B1,B2,…,BN)。
请判断是否可以通过不超过 70000 次如下操作,将序列 A 变为序列 B。如果可以,请给出一种实际的操作方案。
- 选择一个整数 K (1≤K≤N)。对于所有 i (2≤i≤K),将 Ai 的值替换为 Ai−1⊕Ai。该替换对所有满足条件的 i 同时进行。
这里,⊕ 表示按位异或(XOR)运算。
按位异或(XOR)运算定义如下:对于非负整数 A,B,A⊕B 的二进制表示中,每一位的值等于 A,B 在该位上的值仅有一个为 1 时为 1,否则为 0。
例如,3⊕5=6(二进制为:011⊕101=110)。
输入格式
输入通过标准输入给出,格式如下:
N A1 A2 … AN B1 B2 … BN
输出格式
如果无法在 70000 次操作内将 A 变为 B,输出 No。
如果可以,设操作次数为 M,第 i 次操作选择的整数为 Ki,则输出如下格式:
Yes M K1 K2 … KM
如果存在多种满足条件的方案,输出任意一种均可。
输入输出样例
输入#1
3 1 2 0 1 2 3
输出#1
Yes 2 2 3
输入#2
2 10 100 1 0
输出#2
No
输入#3
2 1152921504606846975 0 1152921504606846975 0
输出#3
Yes 0
说明/提示
限制条件
- 2≤N≤1000
- 0≤Ai,Bi<260
- 所有输入均为整数
样例解释 1
在该输出样例中,序列 A 经过如下变化:
- 初始状态:A=(1,2,0)
- 第 1 次操作后:A=(1,3,0)
- 第 2 次操作后:A=(1,2,3)
经过 2 次操作后,A 与 B 完全一致,因此该输出满足条件。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?