妥妥的滚组了。。。
A题:很久没做CF导致想了一个比较烦的方法,还sb的WA一次。。
B题:可以发现答案是2^p * q的形式,q是奇数,然后就是暴力枚举p,求q,求q的时候需要二分一下,一开始WA了两次,最后还是fst了,原因是二分的上界取的不对,右边是2*n,那右边最大就是2*10^18,所以二分的上界取到10^9的时候就太小了。。。太伤了。。。。
C:坑
D:坑
E:用欧拉回路可解。。
http://codeforces.com/contest/325/submission/4067923
首先易得n为奇数的时候无解。
因为最后一个数是0 ,所以前一个数肯定是n/2,然后 n-1的前一个数也只能是n/2,因此产生了矛盾
这样见建图后,每条边的id其实就是每个数字,目的是经过每条边一次即欧拉回路。
而易得每个点的入度等于出度,所以肯定存在欧拉回路。实在nice!