CF1572B.Xor of 3
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
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 ai , ai+1 , ai+2 to ai⊕ai+1⊕ai+2 simultaneously, where ⊕ denotes the bitwise XOR operation
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≤t≤104 ).
The first line of each test case contains a single integer n ( 3≤n≤2⋅105 ) — the length of a .
The second line of each test case contains n integers a1,a2,…,an ( ai=0 or ai=1 ) — elements of a .
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105 .
输出格式
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≤k≤n ) — the number of operations that you want to perform on a , and in the third line print a sequence b1,b2,…,bk ( 1≤bi≤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
说明/提示
In the first example, the sequence contains only 0 s so we don't need to change anything.
In the second example, we can transform [1,1,1,1,0] to [1,1,0,0,0] and then to [0,0,0,0,0] by performing the operation on the third element of a and then on the first element of a .
In the third example, no matter whether we first perform the operation on the first or on the second element of a we will get [1,1,1,1] , which cannot be transformed to [0,0,0,0] .