我的思路:
找规律,发现循环的性质,当k=1k=1k=1时,第iii个数的二进制位与上一个数不一样的位置呈现出
pos=i的2因子个数
的规律
k=n−1k=n-1k=n−1反一反,把保持不变的位置按上述规律生成
然后不管从哪个数开始都循环,提前遇到重复输出无解
对于一般情况,每一次将上一个数第[pos,pos+k−1][pos,pos+k-1][pos,pos+k−1]位改变,对于所有超过n的位数对n取余(即将超过的部分补到开头)
在月赛时就是这个思路,但是WA了一个点(#19)有无大佬能证明或证伪?谢谢