Description
Solution
根据题目中的分组,大胆猜测答案就是对于给定的n中,
C
n
m
%
C_{n}^{m} ~\%
Cnm %
2
=
=
1
2 == 1
2==1 的m个数
因为长度为N的01串中有x个1的所有情况下,若情况数为奇数,则就会有一个贡献
当 (n & m) == m 时,
C
n
m
%
C_{n}^{m} ~\%
Cnm %
2
=
=
1
2 == 1
2==1
Code
int main() {
ll n;scanf("%lld",&n);
ll res = 1, tmp = n;
while(tmp){
if(tmp&1) res *= (1ll*2);
tmp >>= 1;
}
printf("%lld\n", res);
return 0;
}