这可能是我目前做过的最简单的一道noi题目了......

先对e=1的处理,用并查集;再对e=0查询,如果这两个在同一集合中,则为“”NO“,最后都满足的话输出”“YES”;

数值很大,用一下离散化就行了。

 1 #include<bits/stdc++.h>
2 using namespace std;
3 const int N=1e6+10;
4 int t,n,fa[N],b[N*3];
5 struct node{
6 int x,y,e;
7 }a[N];
8 bool cmp(node a,node b){//e=1的放在前面
9 return a.e>b.e;
10 }
11 int get(int x){
12 return fa[x]==x?fa[x]:fa[x]=get(fa[x]);
13 }
14 int main(){
15 scanf("%d",&t);
16 while(t--){
17 int tot=0;
18 memset(b,0,sizeof(b));
19 memset(a,0,sizeof(a));
20 memset(fa,0,sizeof(fa));
21 int vis=1;
22 scanf("%d",&n);
23 for(int i=1;i<=n;i++){
24 scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].e);
25 b[++tot]=a[i].x;b[++tot]=a[i].y;
26 }
27 sort(b+1,b+tot+1);
28 int cnt=unique(b+1,b+tot+1)-b-1;
29 for(int i=1;i<=n;i++){
30 a[i].x=lower_bound(b+1,b+cnt+1,a[i].x)-b;
31 a[i].y=lower_bound(b+1,b+cnt+1,a[i].y)-b;
32 }
33 for(int i=1;i<=cnt;i++) fa[i]=i;
34 sort(a+1,a+n+1,cmp);
35 for(int i=1;i<=n;i++){
36 int r1=get(a[i].x);
37 int r2=get(a[i].y);
38 if(a[i].e){
39 fa[r1]=r2;
40 }
41 else if(r1==r2){
42 cout<<"NO"<<endl;
43 vis=0;
44 break;
45 }
46 }
47 if(vis) cout<<"YES"<<endl;
48 }
49 }

最新文章

  1. 在Excel中使用SQL语句查询和筛选
  2. 开始JavaScript
  3. SQL sp_executesql【转】
  4. Javascript 装载和执行(copy的感觉有很多错误。。)
  5. 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
  6. HDU 4763 (KMP算法)
  7. 月薪10K必备--C#下拉框联动
  8. Android 体系结构
  9. java中使用URLClassLoader访问外部jar包的java类
  10. php随笔2-php+ajax 实现输入读取数据库显示匹配信息
  11. 如何查看自己电脑支持OpenGL core版本
  12. 201521123018 《Java程序设计》第1周学习总结
  13. web前端——10个妨碍进步的学习方式
  14. laravel 读写分离源码解析
  15. TensorFlow资料汇总
  16. .NET中的泛型集合总结
  17. 运维面试题之linux基础
  18. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件
  19. Azure CosmosDB (2) CosmosDB中的数据一致性
  20. 接口测试3A原则

热门文章

  1. DQL基础查询和DQL条件查询
  2. 前端监控系列1| 字节的前端监控SDK是怎样设计的
  3. MyBatis 03 缓存
  4. Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。
  5. 微服务性能分析|Pyroscope 在 Rainbond 上的实践分享
  6. TS 泛型推断好难啊,看看你能写出来不
  7. JavaScript(上)
  8. 学军中学第三届“图灵杯”趣味网络邀请赛——中级T4.欧拉回路 (图论,哈希)
  9. laravel框架中验证后在页面提示错误信息
  10. 完全解析Array.apply(null, { length: 1000 })