NOI 2015 T1 等式
我有 n 个式子
对于每个式子,要么是 xi = xj 的形式,要么是 xi <> xj 的形式。
现在我给出这 n 个式子,你要告诉我,这 n 个式子是否可能同时成立。
【输入格式】
每个测试点有多组测试数据。
第一组有一个个整数 T ,表示测试数据的组数。
对于每一组组测试数据,第一行包含一个个正整数 n,表示式子的数目。
接下来 n 行,每行三个整数 i,j,e,描述n个式子。如果 e = 1,则这个式子
为 xi = xj 。如果 e = 0,则这个式⼦是 xi ̸= xj 。
【输出格式】
对于每组个测试数据输出。如果存在一种方案,使得所有的式子都被满足,
输出“YES”(不包含引号)。否则输出“NO”(不包含引号)。
样例输入 1
2
2
121
120
2
121
211
样例输出 1
NO
YES
6
样例输入 2
2
3
121
231
311
4
121
231
341
140
样例输出 2
YES
NO
【数据范围】
对于 20% 的数据,n ≤ 10。
对于 40% 的数据,n ≤ 100。
对于 70% 的数据,n ≤ 105,1 ≤ i, j ≤ 104。
对于 100% 的数据,n ≤ 105,1 ≤ i, j ≤ 109,1 ≤ t ≤ 10。
【解题思路】
这是一道比较水的NOI的题目,主要是并查集的应用,先排序,把等式放在一个并查集中,再去检查不等式,如有不满足,则输出'NO',全部满足输出'YES'。
单纯的并查集可以得90分,离散化之后就可以得满分(很显然,我并不会写)
type eqq=record
l,r:Longint;
end;
var
eq,neq:array[..] of eqq;
ro:array[..] of longint;
sum,sum1,sum2,d,b,c,i,j,flag,t,n,w,max:Longint;
function root(x:Longint):Longint;
begin
if x=ro[x] then exit(x);
root:=root(ro[x]);
ro[x]:=root;
exit(root);
end; procedure union(x,y:Longint);
begin
ro[root(x)]:=root(y);
end; begin
assign(input,'prog.in'); reset(input);
assign(output,'prog.ans'); rewrite(output);
read(t);
for w:= to t do
begin
sum1:=; sum2:=; sum:=;flag:=; max:=;
read(n);
for i:= to n do
begin
read(d,b,c);
if d>max then max:=d;
if b>max then max:=b;
if c= then
begin
inc(sum1);
eq[sum1].l:=d;
eq[sum1].r:=b;
end;
if c<> then
begin
inc(sum2);
neq[sum2].l:=d;
neq[sum2].r:=b;
end;
end;
for i:= to max do ro[i]:=i;
for i:= to sum1 do
if root(eq[i].l)<>root(eq[i].r) then union(eq[i].l,eq[i].r);
for i:= to sum2 do
begin
if root(neq[i].l)<>root(neq[i].r) then continue
else
begin
flag:=;
break;
end;
end;
if flag= then writeln('NO') else writeln('YES');
end;
close(input); close(output);
end.
NOI 2015 T1 等式的更多相关文章
- NOI 2015 荷马史诗【BZOJ 4198】k叉Huffman树
抱歉因为NOIP集训,好长时间没再写题解了. NOI 2015也就只有这道题一看就能懂了-- 4198: [Noi2015]荷马史诗 Time Limit: 10 Sec Memory Limit: ...
- [LOJ 2134][UOJ 132][BZOJ 4200][NOI 2015]小园丁与老司机
[LOJ 2134][UOJ 132][BZOJ 4200][NOI 2015]小园丁与老司机 题意 给定平面上的 \(n\) 个整点 \((x_i,y_i)\), 一共有两个问题. 第一个问题是从原 ...
- [LOJ 2133][UOJ 131][BZOJ 4199][NOI 2015]品酒大会
[LOJ 2133][UOJ 131][BZOJ 4199][NOI 2015]品酒大会 题意 给定一个长度为 \(n\) 的字符串 \(s\), 对于所有 \(r\in[1,n]\) 求出 \(s\ ...
- NOI 2015 滞后赛解题报告
报同步赛的时候出了些意外.于是仅仅能做一做"滞后赛"了2333 DAY1 T1离线+离散化搞,对于相等的部分直接并查集,不等部分查看是否在同一并查集中就可以,code: #incl ...
- [NOI 2015]品酒大会
Description 题库链接 \(n\) 杯鸡尾酒排成一行,其中第 \(i\) 杯酒 (\(1 \leq i \leq n\)) 被贴上了一个标签 \(s_i\),每个标签都是 \(26\) 个小 ...
- BZOJ 4197 NOI 2015 寿司晚宴 状压DP
4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 694 Solved: 440[Submit][Status] ...
- 【UOJ #131】【NOI 2015】品酒大会
http://uoj.ac/problem/131 求出后缀数组和height数组后,从大到小扫相似度进行合并,每次相当于合并两个紧挨着的区间. 合并区间可以用并查集来实现,每个区间的信息都记录在这个 ...
- 【NOI 2015网络同步赛】
今年没法去.. 分数160+181+100(假设我有去考笔试)=441 分数线:金548 银459 铜331 并没有到银牌线.... 以后题目啊数据啊出来的话继续更新 2015.7.19
- BZOJ 4197 NOI 2015 寿司晚宴
题面 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴. 在晚宴上,主办方为大家提供了 n−1 ...
随机推荐
- 在oc代码中使用swift第三方框架
swift现在使用越来越多了,一些主流的框架或者效果比较好的demo都陆陆续续使用swift写了.所以,要学会如何在oc的项目中调用swift. 这里主要借助一个桥梁文件,这个桥梁文件一般在你导入sw ...
- posix thread条件变量
概述 等待条件变量总是返回锁住的互斥量. 条件变量的作用是发送信号,而不是互斥. 与条件变量相关的共享数据是“谓词”,如队列满或队列空条件. 一个条件变量应该与一个谓词相关.如果一个条件变量与多个谓词 ...
- Python 文件操作模块 shutil 详解
1.导入模块 shutil import shutil 2.shutil方法 2.1 shutil.copy(src,dst) //将 src 复制到 dst 保留文件权限 例:将Alan复制到 ...
- Verilog-FPGA硬件电路设计之一——if语句优先级(always块中的阻塞赋值生成的组合逻辑电路是按照顺利执行的)
出处:http://bbs.ednchina.com/BLOG_ARTICLE_3013262.HTM 综合软件:Quartus II 一.有优先级的if语句 if..else if.. else i ...
- hadoop mapreduce 优化
http://www.cnblogs.com/c840136/archive/2013/03/10/2952887.html http://irwenqiang.iteye.com/blog/1535 ...
- asp正则过滤重复字符串的代码
asp下过滤重复字符串的代码,有时候我们需要过滤一些重复的字符串,下面的代码即可解决这个问题 比如 1223445677777778aabbcccccccccc 经过过滤之后就是12345678abc ...
- 利用FSO取得BMP,JPG,PNG,GIF文件信息(大小,宽、高等)
利用FSO取得BMP,JPG,PNG,GIF文件信息(大小,宽.高等) 程序代码 <% ':::BMP, GIF, JPG and PNG ':::This function gets a sp ...
- RTTI和反射
JAVA 运行时识别对象和类的信息,主要有两种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型:另一种是"反射"机制,它允许我们在运行时发现和使用类的信息. 参考 ...
- Android开发常见问题及解决方法
http://blog.csdn.net/silangquan/article/details/8104414
- System.Data.SqlClient.SqlError: 对文件……的目录查找失败[转]
System.Data.SqlClient.SqlError: 对文件……的目录查找失败,出现操作系统错误 3 的处理办法 在还原SQL SERVER数据库时出现了查找目录失败的原因,困扰了我一个多小 ...