308768: CF1572B. Xor of 3
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Xor of 3
题意翻译
给出一个 $01$ 序列,一次操作可以选择连续的三个数,把它们都变成三个数的异或和。 问能否在 $n$ 次以内全变成 0,输出方案。题目描述
You are given a sequence $ a $ of length $ n $ consisting of $ 0 $ s and $ 1 $ s. You can perform the following operation on this sequence: - Pick an index $ i $ from $ 1 $ to $ n-2 $ (inclusive). - Change all of $ a_{i} $ , $ a_{i+1} $ , $ a_{i+2} $ to $ a_{i} \oplus a_{i+1} \oplus a_{i+2} $ simultaneously, where $ \oplus $ denotes the [bitwise XOR operation](https://en.wikipedia.org/wiki/Bitwise_operation#XOR) Find a sequence of at most $ n $ operations that changes all elements of $ a $ to $ 0 $ s or report that it's impossible.We can prove that if there exists a sequence of operations of any length that changes all elements of $ a $ to $ 0 $ s, then there is also such a sequence of length not greater than $ n $ .输入输出格式
输入格式
Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 10^4 $ ). The first line of each test case contains a single integer $ n $ ( $ 3 \le n \le 2\cdot10^5 $ ) — the length of $ a $ . The second line of each test case contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ a_i = 0 $ or $ a_i = 1 $ ) — elements of $ a $ . It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 2\cdot10^5 $ .
输出格式
For each test case, do the following: - if there is no way of making all the elements of $ a $ equal to $ 0 $ after performing the above operation some number of times, print "NO". - otherwise, in the first line print "YES", in the second line print $ k $ ( $ 0 \le k \le n $ ) — the number of operations that you want to perform on $ a $ , and in the third line print a sequence $ b_1, b_2, \dots, b_k $ ( $ 1 \le b_i \le n - 2 $ ) — the indices on which the operation should be applied. If there are multiple solutions, you may print any.
输入输出样例
输入样例 #1
3
3
0 0 0
5
1 1 1 1 0
4
1 0 0 1
输出样例 #1
YES
0
YES
2
3 1
NO