poj 1733种类并查集+离散化
来源:互联网 发布:左右声道测试软件 编辑:程序博客网 时间:2024/06/06 17:32
分析:http://blog.csdn.net/xiaoxiaoluo/article/details/7401172#
#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;#define maxn 100005int n;int m;struct node{ int u,v; int x;};node d[maxn];int num[maxn];int cnt;int r[maxn];int fa[maxn];int Bin(int x){ int low=0,high=cnt-1,mid; while(low<=high) { mid=(low+high)/2; if(num[mid]==x) return mid; if(num[mid]<x) low=mid+1; else high=mid-1; } return -1;}int find(int x){ if(x!=fa[x]) { int f=fa[x]; fa[x]=find(fa[x]); r[x]=r[x]^r[f]; } return fa[x];}int main(){ cin >> n >> m; for(int i = 0 ; i < maxn ; ++i) fa[i] = i; memset( r,0,sizeof(r) ); for(int i = 0 ; i < m ; ++i) { char str[10]; scanf("%d %d %s",&d[i].u,&d[i].v,str); d[i].u--; if( str[0] == 'o' ) d[i].x = 1; else d[i].x = 0; num[cnt++] = d[i].u, num[cnt++] = d[i].v; } sort(num,num+cnt); cnt=unique(num,num+cnt)-num; // for(int i =0;i < cnt ; ++i)printf("%d ",num[i]); printf("\n"); int i; for( i = 0 ; i < m ; ++i) { int u = Bin( d[i].u ); int v = Bin( d[i].v ); int x = find(u); int y = find(v); // printf("%d %d %d %d\n",u,v,x,y); if( x == y ) { if( r[u] == r[v] && d[i].x == 1 )break; if( r[u] != r[v] && d[i].x == 0 )break; } else { if(d[i].x==1) { fa[x]=y; r[x]=r[u]^r[v]^1; } else { fa[x]=y; r[x]=r[u]^r[v]; } } } printf("%d\n",i);}
0 0
- poj 1733 Parity game 【种类并查集+离散化】
- poj 1733种类并查集+离散化
- poj 1733 - Parity game(离散化+并查集)
- poj 1733离散化(map)+并查集
- poj 1733(带权并查集+离散化)
- poj 1733 Parity game 并查集 离散化
- Poj 1733 Parity Game(离散化+并查集)
- POJ 1733 Parity game(种类并查集+哈希)
- poj 1733 Parity game(种类并查集)
- poj 1182 食物链(种类并查集)
- 种类并查集-POJ-1184
- 种类并查集(POJ 1703)
- POJ 1182 食物链 种类并查集
- POJ 1182 食物链(种类并查集)
- poj 1182 食物链 (种类并查集)
- poj 1703 种类并查集
- poj 1703 种类并查集
- POJ 1182 食物链(种类并查集)
- Spring(1)初识Spring+IOC(控制反转)+DI(依赖注入)(附:快速入门案例)
- 二叉树遍历(非递归版)
- Eclipse注释模板设置详解
- Linux打卡Day10-扩展权限
- Web Cache替换算法分析(一)
- poj 1733种类并查集+离散化
- 学习设计模式-桥接模式
- 微信开发设置QQ表情 可用于关注自动回复等
- git常用命令
- IO复用
- JAVA SWING 日期选择控件(目前支持JLable和JTextField)
- 内部类使用及注意事项
- 浅谈怎样建设一个为企业带来更大价值的企业网站
- UVA