P3908 数列之异或
性质(J 表示奇数个数,v表示n为奇数,x表示偶数)
1:1 0001 J 1 V
2:3 0001|0010 = 0011 J 1 X
3:0 0011|0011 = 0000 J 2 V
4:4 0000|0100 = 0100 J 2 X
5:1 0100|0101 = 0001 J 3 V
6:7 0001|0110 = 0111 J 3 X
7:0 0111|0111 = 0000 J 4 V
8:8 0000|1111 = 1111 J 4 X
由此推出$O(1)$ 的线性式子
#include<bits/stdc++.h>
int main(){long long n;std::cin>>n;std::cout<<((n==1)?1:((n%2==0)?(((n/2)%2==0)?n:n+1):((((n/2)+1)%2==0)?0:1)));}