POJ 1733 Parity game (并查集)

2014-11-24 12:36:36 · 作者: · 浏览: 0

题目大意:

问m个问题里面 前面有多少个问题是不矛盾的。

问题是问区间里的 1 个个数是奇数还是偶数。


思路分析:

和 hdu 3038 是一个模型。

然后判断奇偶用异或就可以了。


#include 
  
   
#include 
   
     #include 
    
      #include 
     
       using namespace std; int set[55555]; int sum[55555]; struct node { int s,e; char op; }Q[55555]; int x[55555]; int abs(int x) { return x>0 x:-x; } int find(int x) { if(x!=set[x]) { int f=set[x]; set[x]=find(set[x]); sum[x]=(sum[x]^sum[f]); } return set[x]; } int main() { int n,m; while(scanf("%d%d",&n,&m)!=EOF) { int cnt=0; for(int i=0;i<=m*2;i++)set[i]=i,sum[i]=0; char str[10]; for(int i=0;i