思路大概就是先确定 a1,由于 a1xora2=b1,易得 a2=a1xorb1,同理 ai=a1xorb1xorb2 ...xorbi−1。然后就可以求出序列 a。
题目说 1∼n 的排列,那肯定没有 0 对吧,人话就是 ai 和 bi 不相等。那我们假设 ai=bi,然后反推回 a1,这样这个 a1 肯定是不满足条件的,按这样我们一共可以推出 n−1 个不满足条件的 a1,且没有重复,因为你 a1=b1xorb2 ...xorbi,如果有两个 a1 相等,也就是说有一段连续的 bi 异或和为 0,如果这样那顺推时你的序列里就会有两个一样的值,显然不满足条件,至于 ai∈[1,n] 的这个条件,你序列都唯一了,题目又保证有解,还要来干嘛?
综上,序列 a 是固定的对吧?但这么交上去是错的,他还要 check 一下 ai 的取值范围,也就是说 a 序列并不能确定?所以是为什么,我的问题吗?
我是蒟蒻,大佬勿喷,违规紫衫