集训day1 p1
来源:互联网 发布:淘宝投诉盗图入口 编辑:程序博客网 时间:2024/04/30 00:45
二分图
貌似还有并查集 by wxr 改编自hnoi
#include <cstdio>#include <cstring>#include <iostream>#define D 5010using namespace std;typedef pair<int,int> pii;int pr[D],ptot,n,q,u,v,cnt,tim,col[D],abandoned[D];int hash[D];pii sav[D];struct edge {int v,next;}e[1000000];int head[D];int read () {char c = getchar();int re = 0;while(c > '9' || c < '0')c = getchar();while(c <= '9' && c >= '0') {re = re * 10 + c - '0';c = getchar();}return re;}void adde (int u,int v) {e[++cnt].v = v;e[cnt].next = head[u];head[u] = cnt;e[++cnt].v = u;e[cnt].next = head[v];head[v] = cnt;}void reverse (int U,int ti) {if(hash[U] == ti)return;col[U] ^= 1;hash[U] = ti;for(int i = head[U];i != -1;i = e[i].next) {int V = e[i].v;if(!abandoned[V])reverse(V,ti);}}int main () {freopen("traf.in","r",stdin);freopen("traf.out","w",stdout);memset(head,-1,sizeof head);n = read();q = read();for(int i = 1;i <= q;++i) {u = read();v = read();if(u > v) {int t = u;u = v;v = t;}sav[i].first = u;sav[i].second = v;}for(int i = 1;i <= q;i++) {for(int j = 1;j <= i - 1;++j) {if(!abandoned[j]) {if((((sav[j].first > sav[i].first) && (sav[j].first < sav[i].second)) && sav[j].second > sav[i].second)||(sav[j].first < sav[i].first && ((sav[j].second > sav[i].first) && sav[j].second < sav[i].second))) {if(col[i] != col[j] ^ 1) {reverse(i,++tim);if(col[i] != col[j] ^ 1) {abandoned[i] = 1;pr[++ptot] = i;break;}else adde(i,j);}else adde(i,j);}}}}printf("%d\n",ptot);for(int i = 1;i <= ptot;i++)printf("%d\n",pr[i]);return 0;}
0 0
- 集训day1 p1
- 湖南集训Day1
- ACM集训day1
- 集训总结day1
- zzuacm集训day1
- 沈阳集训day1
- 暑期集训 DAY1
- 【集训Day1 测试】装饰
- 集训题解-Day1
- 郑州集训DAY1笔记
- 北京集训DAY1
- 集训Day1 T3 整除
- 考前集训(day1上)
- 5月集训Day1考试
- 省队集训Round2 DAY1
- 省队集训Round3 DAY1
- 【集训Day1 测试】奇怪数
- 【集训Day1 测试】【USACO】照相
- leetcode_23_Merge k Sorted Lists
- 递归之汉诺塔问题
- Foundation 与 Application Kit 框架
- NSAttributedString 详解
- 错嫁倾城妃
- 集训day1 p1
- thinkphp判断是否为手机登陆的方法
- 数据结构与算法(C语言)之线性表(顺序存储结构)
- 推荐 http://www.lampbrother.net/
- 去哪儿网2013笔试题
- 密码截获
- 幽夜
- 写一个double my_atof(char *str)函数,将一个数字字符串转换成对应的浮点数
- HDU 5191 Building Blocks(枚举)