NOI 2015 DAY1 T1 程序自动分析 并查集+离散化
来源:互联网 发布:linux批量移动文件夹 编辑:程序博客网 时间:2024/04/25 12:27
题意:暂且并没有链接
方法:并查集+离散化
解析:
国赛这道普及组难度的题我都不好意思写题解,
这道题的题意非常明了,一眼题..
其实就是把所有的要求sort一下,把令xi=xj的条件放在前面,令xi!=xj的条件放到后面就行了。
然后我们对于n个询问,先把所有的i,j离散化,这里我偷懒用了map
然后只需要将所有xi=xj的部分加到并查集里。
xi!=xj的部分看一下二者的祖先相不相同就行了,不相同就判断下一个,相同输出no;
代码:
这道题贴代码真是不好意思- -
#include <map> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define N 100100 using namespace std; int tot; int t; int n; int fa[N<<1]; map<int,int>m; struct node { int x,y,z; }a[N]; int find(int x) { if(fa[x]==x)return x; else fa[x]=find(fa[x]); return fa[x]; } int cmp(node a,node b){return a.z>b.z;} int main() { scanf("%d",&t); while(t--) { tot=0; m.clear(); scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z); } for(int i=1;i<=n;i++) { if(!m[a[i].x])m[a[i].x]=++tot; if(!m[a[i].y])m[a[i].y]=++tot; } for(int i=1;i<=tot;i++)fa[i]=i; int flag=0; sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++) { int x=m[a[i].x],y=m[a[i].y]; int z=a[i].z; if(z==1) { int fx=find(x),fy=find(y); if(fx!=fy) { fa[fx]=fy; } }else { int fx=find(x),fy=find(y); if(fx==fy){printf("NO\n");flag=1;break;} } } if(!flag)printf("YES\n"); } }
0 0
- NOI 2015 DAY1 T1 程序自动分析 并查集+离散化
- 【并查集】【NOI 2015】【bzoj 4195】程序自动分析
- 【NOI2015】【程序自动分析】【并查集+离散化】
- [BZOJ4195] [NOI2015] 程序自动分析 - 并查集 + 离散化
- 【NOI2015T1】程序自动分析-并查集+离散化
- [NOI2015] BZOJ4195 程序自动分析-离散化-并查集
- [bzoj4195][NOI2015]程序自动分析 离散化 并查集
- 【NOI2015Day1T1】程序自动分析{并查集+离散化}
- 【并查集/离散化】洛谷P1955 程序自动分析
- NOI2015 day1 prog 程序自动分析(并查集)
- NOI2015 Day1 T1 程序自动分析
- NOI2015 Day1 T1 程序自动分析
- 【NOI2015】BZOJ4195程序自动分析(并查集+离散化)
- BZOJ-4195 NOI2015Day1T1 程序自动分析 并查集+离散化
- BZOJ4195 [Noi2015]程序自动分析(离散化+并查集)
- codevs 4600 [NOI2015]程序自动分析(并查集+离散化)
- bzoj 4195: [Noi2015]程序自动分析 (并查集+离散化)
- [BZOJ4195][NOI2015][并查集][离散化][水题]程序自动分析
- linux中运行一个二进制的文件
- JS高级程序设计13-事件
- 程序结构与进程结构
- vmware centOS 开机进度条 卡死 Determining IP Information for eth0...
- Android 实现滚动数字的TextView
- NOI 2015 DAY1 T1 程序自动分析 并查集+离散化
- 9. Javascript 表达式
- day07
- Android实现推送方式解决方案
- textfield 限制字数
- Lowest Common Ancestor of a Binary Tree
- (七十六)CoreLocation(二)获取经纬度、速度、方向,进行区域监听
- const变量探究
- iOS SDK详解之UIScreen