【BZOJ】【P3687】【简单题】【题解】【bitset】

来源:互联网 发布:boogie board的软件 编辑:程序博客网 时间:2024/05/16 10:03

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3687

和只有0..2000000中可能

压位记录

Code:

#include<bits/stdc++.h>using namespace std;bitset<2000001>bt;int main(){int ans=0,n,x,sum=0;scanf("%d",&n);bt[0]=1;for(int i=1;i<=n;i++){scanf("%d",&x);sum+=x;bt=bt^(bt<<x);}for(int i=1;i<=sum;i++)ans^=bt[i]?i:0;cout<<ans<<endl;}


0 0