BZOJ 4195: [Noi2015]程序自动分析 [并查集 离散化 | 种类并查集WA]
题意:
给出若干相等和不等关系,判断是否可行
woc NOI考这么傻逼的题飞快打了一个种类并查集交上了然后爆零...
发现相等和不等看错了异或一下再叫woc90分
然后发现md$a \neq b, a \neq c,不能得到b = c$
老老实实的把所有相等关系加并查集然后不等关系来判断吧,唉
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=2e6+;
typedef long long ll;
inline int read(){
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
} int n, mp[N], m;
struct meow{
int x, y, e;
bool operator <(const meow &a) const {return e<a.e;}
} a[N];
int fa[N], val[N];
int find(int x) {return x==fa[x] ? x : fa[x]=find(fa[x]);} int main() {
freopen("in","r",stdin);
int T=read();
while(T--) {
n=read(); m=;
for(int i=; i<=n; i++)
mp[++m]=a[i].x=read(), mp[++m]=a[i].y=read(), a[i].e=read()^;
sort(mp+, mp++m); m = unique(mp+, mp++m) - mp - ;
for(int i=; i<=m; i++) fa[i]=i, val[i]=;
int flag=, i;
sort(a+, a++n);
for(i=; i<=n && !a[i].e; i++) {
a[i].x = lower_bound(mp+, mp++m, a[i].x) - mp;
a[i].y = lower_bound(mp+, mp++m, a[i].y) - mp;
fa[find(a[i].x)] = find(a[i].y);
}
for(; i<=n; i++) {
a[i].x = lower_bound(mp+, mp++m, a[i].x) - mp;
a[i].y = lower_bound(mp+, mp++m, a[i].y) - mp;
if(find(a[i].x) == find(a[i].y) ) {puts("NO"); flag=; break;}
}
if(flag) puts("YES");
}
}
BZOJ 4195: [Noi2015]程序自动分析 [并查集 离散化 | 种类并查集WA]的更多相关文章
- bzoj 4195: [Noi2015]程序自动分析
4195: [Noi2015]程序自动分析 Description 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3,…代表 ...
- BZOJ 4195: [Noi2015]程序自动分析 并查集+离散化
LUOGU 1955BZOJ 4195 题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量 ...
- BZOJ 4195: [Noi2015]程序自动分析 并查集 + 离散化 + 水题
TM 读错题了...... 我还以为是要动态询问呢,结果是统一处理完了再询问...... 幼儿园题,不解释. Code: #include<bits/stdc++.h> #define m ...
- BZOJ——4195: [Noi2015]程序自动分析
http://www.lydsy.com/JudgeOnline/problem.php?id=4195 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: ...
- 【刷题】BZOJ 4195 [Noi2015]程序自动分析
Description 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3,-代表程序中出现的变量,给定n个形如xi=xj或x ...
- bzoj 4195: [Noi2015]程序自动分析【并查集】
等于有传递性,所以hash一下把等于用并查集连起来,然后再判断不等于是否合法即可 #include<iostream> #include<cstdio> #include< ...
- BZOJ4195 [Noi2015]程序自动分析(离散化+并查集)
4195: [Noi2015]程序自动分析 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 689 Solved: 296 [Submit][Sta ...
- BZOJ4195 NOI2015 程序自动分析
4195: [Noi2015]程序自动分析 Time Limit: 10 Sec Memory Limit: 512 MB Description 在实现程序自动分析的过程中,常常需要判定一些约束条件 ...
- 【BZOJ4195】[Noi2015]程序自动分析 并查集
[BZOJ4195][Noi2015]程序自动分析 Description 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3 ...
随机推荐
- centos6+cdh5.4.0 离线搭建cdh搭建
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- 前端自动化-----gulp详细入门(转)
简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码 ...
- javascript之fill()方法
无意中看到fill这个方法,有些不解,起初以为是人家自定义的方法,后来才发觉原来不是,javascript里面是真的有这个方法,于是特地学习了下. fill()方法的作用是使用一个固定值来替换数组中的 ...
- 属性getter和setter
我们知道,对象属性是由名字.值和一组特性(attribute)构成的.在ECMAScript5 中,属性值可以用一个或两个方法替代,这两个方法就是getter和setter.由getter和sette ...
- 自己动手实现一个简单的JSON解析器
1. 背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.相对于另一种数据交换格式 XML,JSON 有着诸多优点.比如易读性更好,占用空间更少等.在 ...
- Map,List,POJO深拷贝(序列化实现)方法与注意事项
转载请注明出处,谢谢! 方法1: /*jdk >= 1.5*/ @SuppressWarnings("unchecked") public static <T> ...
- TP5.0 excel 导入导出
引第三方的phpexcel类库放到 ThinkPHP\Library\Vendor\demo下,自己建的文件夹demo 再将Excel.class放到ThinkPHP\Library\Org\clas ...
- Xshell学习--菜鸟篇
http://www.cnblogs.com/perseverancevictory/p/4910145.html 1)关于Xshell 网上更多的资料里提到的SSH客户端是putty,因为简单.开源 ...
- Android-第二天(2)
程序3 SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局,而且使用很方便 SimpleAdapter(Context context, List<? extends Ma ...
- href
<a href="#"></a>点击浏览器会跳转地址栏加了#:<a href=""></a>点击会打开当前网页所 ...