#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int f[N*2],a[N],b[N],c[N],n,t,p[N*2],cnt;
int find(int x)
{
if(x!=f[x])f[x]=find(f[x]);
return f[x];
}
int main()
{
cin>>t;
while(t--)
{
int flag=1;
cin>>n;
cnt=0;
for(int i=1;i<=2*n;i++)f[i]=i;
for(int i=1;i<=n;i++)
{
scanf("%d%d%d",&a[i],&b[i],&c[i]);
p[++cnt]=a[i];p[++cnt]=b[i];
}
sort(p+1,p+cnt+1);
cnt=unique(p+1,p+cnt+1)-(p+1);
for(int i=1;i<=n;i++)
if(c[i]){
int x=lower_bound(p+1,p+cnt+1,a[i])-p;
int y=lower_bound(p+1,p+cnt+1,b[i])-p;
int fx=find(x),fy=find(y);
if(fx==fy)continue;
f[fx]=fy;
}
for(int i=1;i<=n;i++)
if(!c[i])
{
int x=lower_bound(p+1,p+cnt+1,a[i])-p;
int y=lower_bound(p+1,p+cnt+1,b[i])-p;
int fx=find(x),fy=find(y);
if(fx==fy)flag=0;
}
if(flag)puts("YES");
else puts("NO");
}
return 0;
}

AcWing 237. 程序自动分析的更多相关文章

  1. AcWing:237. 程序自动分析(离散化 + 并查集)

    在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3,…x1,x2,x3,…代表程序中出现的变量,给定n个形如xi=xjxi=x ...

  2. 237. 程序自动分析 【map+并查集】

    程序自动分析 描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3,…x1,x2,x3,…代表程序中出现的变量,给定n个形 ...

  3. BZOJ-4195 NOI2015Day1T1 程序自动分析 并查集+离散化

    总的来说,这道题水的有点莫名奇妙,不过还好一次轻松A 4195: [Noi2015]程序自动分析 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 836 ...

  4. BZOJ4195 程序自动分析

    Description 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3,…代表程序中出现的变量,给定n个形如xi=xj或x ...

  5. codevs4600 [NOI2015]程序自动分析==洛谷P1955 程序自动分析

    4600 [NOI2015]程序自动分析  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 在实现 ...

  6. Codevs 4600 [NOI2015]程序自动分析

    4600 [NOI2015]程序自动分析 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 在实现程序自动分析的过程中,常常需 ...

  7. BZOJ4195 [Noi2015]程序自动分析(离散化+并查集)

    4195: [Noi2015]程序自动分析 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 689  Solved: 296 [Submit][Sta ...

  8. BZOJ4195 NOI2015 程序自动分析

    4195: [Noi2015]程序自动分析 Time Limit: 10 Sec Memory Limit: 512 MB Description 在实现程序自动分析的过程中,常常需要判定一些约束条件 ...

  9. 【BZOJ4195】【NOI2015】程序自动分析(并查集)

    [BZOJ4195][NOI2015]程序自动分析(并查集) 题面 Description 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设 ...

随机推荐

  1. Spring Cloud(Dalston.SR1)

    Spring Cloud 示例项目地址:https://github.com/Yanshaoshuai/microservicecloud Eureka 集群搭建 microservicecloud- ...

  2. bug修复

    bug严重级别 bug个数 bug修复率 上个版本的bug修复率 和arm对比 arm已修复

  3. C++知识点案例 笔记-3

    1.基类指针等与派生类的兼容 2.构造函数 3.析构函数 4.虚基类 5.虚函数 6.虚析构函数 ==基类指针等与派生类的兼容== #include <iostream> #include ...

  4. 配置文件修改java安全级别和站点信息

    配置文件修改java安全级别和站点信息原创Green_1001 最后发布于2015-04-22 23:00:09 阅读数 516 收藏展开 通过配置文件修改java安全级别 配置文件名称为deploy ...

  5. MySQL8 配置远程连接

    引言 MySQL8 默认安装后只有本机能访问,如果需要远程连接 MySQL 将无法访问 查看 root 用户权限 进入 mysql 表 select user,host,plugin from use ...

  6. Java 事务的隔离级别

    引言 之前关于事务的文章已介绍了事务的概念以及事务的四个属性(ACID),相信你对事务应该有所认识和了解. 本篇文章是关于事务的隔离性,介绍数据库提供的多种隔离级别. 数据库访问的并发性问题 所谓事务 ...

  7. 看完这篇还不懂 MySQL 主从复制,可以回家躺平了~

    大家好,我是小羽. 我们在平时工作中,使用最多的数据库就是 MySQL 了,随着业务的增加,如果单单靠一台服务器的话,负载过重,就容易造成宕机. 这样我们保存在 MySQL 数据库的数据就会丢失,那么 ...

  8. Ubuntu 16.04安装PyCharm

    PyCharm一个是Python集成开发环境,它既提供收费的专业版,也提供免费的社区版本.PyCharm带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Proj ...

  9. Step By Step(Lua表达式和语句)

    Step By Step(Lua表达式和语句) 一.表达式:    1. 算术操作符:    Lua支持常规算术操作符有:二元的"+"."-"."*& ...

  10. Python+Selenium学习笔记18 - 不开启浏览器测试

    运行脚本时间比较长时可以不打开浏览器测试,这样在测试运行时,电脑还是可以用作其他操作的. 只需要在运行脚本上加上下面代码的678行即可 1 # coding = utf-8 2 3 from sele ...