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 ...
随机推荐
- SpringMVC框架学习笔记(1)——HelloWorld
搭建SpringMVC框架 1.添加jar包 jsp-api.jar servlet-api.jar jstl.jar commons-logging-1.1.1.jar spring-beans-4 ...
- 配置web.xml文件用于配置tomcat
<Context path = "/myweb" docBase = "E:\workspace1\myweb\WebRoot" reloadable = ...
- i++是否原子操作?并解释为什么?
都不是原子操作.理由: 1.i++分为三个阶段: 内存到寄存器寄存器自增写回内存这三个阶段中间都可以被中断分离开. 2.++i首先要看编译器是怎么编译的, 某些编译器比如VC在非优化版本中会编译为以 ...
- 转:绝对干货--WordPress自定义查询wp_query所有参数详细注释
<?php /** * WordPress 查询综合参考 * 编译:luetkemj - luetkemj.com * * 官方文档: http://codex.wordpress.org/Cl ...
- YourPHP笔记
http://blog.sina.com.cn/s/blog_7c54793101016qq1.htm 基础认识: Ø yourphp安装为子目录时不可以以"yourphp"为文 ...
- SDK是什么?什么是SDK
从 SDK导航 看到的 应该比较专业! SDK的英文全名是:software development kit,翻译成中文的意思就是"软件开发工具包" 通俗一点的理解,是指由第三方服 ...
- java.lang.NoClassDefFoundError: javax/mail/Authenticator
摘录自:http://stackoverflow.com/questions/1630002/java-lang-noclassdeffounderror-javax-mail-authenticat ...
- 或许你不知道的10条SQL技巧
一.一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and stauts!=1 not in/not exists都不是好 ...
- Log4j扩展使用--输出地Appender
OK,现在我们来研究输出低Appended. Appender控制日志输出的位置 Log4j日志系统允许把日志输出到不同的地方,如控制台(Console).文件(Files).根据天数或者文件大小产生 ...
- junit源码解析--初始化阶段
OK,我们接着上篇整理.上篇博客中已经列出的junit的几个核心的类,这里我们开始整理junit完整的生命周期. JUnit 的完整生命周期分为 3 个阶段:初始化阶段.运行阶段和结果捕捉阶段. 这篇 ...