标签:tmp col printf splay 图片 unique hid 离散 pen
大水题,还提高+/省选-
先离散一下,然后getfa和combine就行
部分代码:
1 for(int i=1;i<=n;++i) 2 { 3 a[i].x=read(); a[i].y=read(); a[i].e=read(); 4 ls[++cnt]=a[i].x; 5 ls[++cnt]=a[i].y; 6 } 7 sort(ls,ls+cnt); 8 int tmp=unique(ls,ls+cnt)-ls; 9 for(int i=1;i<=n;++i) 10 { 11 a[i].x=lower_bound(ls,ls+tmp,a[i].x)-ls; 12 a[i].y=lower_bound(ls,ls+tmp,a[i].y)-ls; 13 }
1 for(int i=1;i<=n;++i) 2 { 3 int t1=getfa(a[i].x),t2=getfa(a[i].y); 4 if(a[i].e) fa[t1]=t2; 5 else if(t1==t2) 6 { 7 printf("NO\n"); 8 flag=false; 9 break; 10 } 11 } 12 if(flag) printf("YES\n"); 13 }
然后,就...无脑做完
标签:tmp col printf splay 图片 unique hid 离散 pen
原文地址:https://www.cnblogs.com/cptbtptpbcptbtptp/p/11397322.html