[欧拉回路] Codeforces 429E #245 (Div. 1) E. Points and Segments
来源:互联网 发布:软件项目实施方案 编辑:程序博客网 时间:2024/05/13 11:23
题解传送门:http://codeforces.com/blog/entry/12265
#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) return EOF; } return *p1++;}inline void read(int &x){ char c=nc(),b=1; for (;!(c>='0' && c<='9');c=nc()) if (c=='-') b=-1; for (x=0;c>='0' && c<='9';x=x*10+c-'0',c=nc()); x*=b;}const int N=200005;struct edge{ int u,v,next;}G[N<<2];int head[N],inum=1;inline void add(int u,int v,int p){ G[p].u=u; G[p].v=v; G[p].next=head[u]; head[u]=p;}int deg[N];int dir[N<<2],vst[N];#define V G[p].vinline void dfs(int u){ vst[u]=1; for (int p=head[u];p;p=G[p].next) if (dir[p>>1]==-1){ dir[p>>1]=p&1; dfs(V); }}int sx[N],icnt;inline int Bin(int x){ return lower_bound(sx+1,sx+icnt+1,x)-sx;}int n,root;int s[N],t[N];int main(){ freopen("t.in","r",stdin); freopen("t.out","w",stdout); read(n); for (int i=1;i<=n;i++) read(s[i]),read(t[i]),t[i]++,sx[++icnt]=s[i],sx[++icnt]=t[i]; sort(sx+1,sx+icnt+1); icnt=unique(sx+1,sx+icnt+1)-sx-1; for (int i=1;i<=n;i++){ s[i]=Bin(s[i]),t[i]=Bin(t[i]); add(s[i],t[i],++inum); add(t[i],s[i],++inum); deg[s[i]]++; deg[t[i]]++; } int last=0; for (int i=1;i<=icnt;i++) if (deg[i]&1){ if (last)add(last,i,++inum),add(i,last,++inum),last=0; elselast=i; } for (int i=1;i<=(inum>>1);i++) dir[i]=-1; for (int i=1;i<=icnt;i++) if (!vst[i]) dfs(i); for (int i=1;i<=n;i++) printf("%d ",dir[i]^1); return 0;}
0 0
- [欧拉回路] Codeforces 429E #245 (Div. 1) E. Points and Segments
- Codeforces 429E Points and Segments 欧拉回路
- 【CodeForces429E】Points and Segments(欧拉回路)
- [欧拉回路 构造 || 网络流] Codeforces 723E #375 (Div. 2) E. One-Way Reform
- codeforces #375(div.2) 723E One-Way Reform 欧拉回路或网络流
- Codeforces Round #375 (Div. 2) E. One-Way Reform 欧拉回路+构图
- Codeforces Round #245 (Div. 2) A - Points and Segments (easy)
- CodeForces 527E Data Center Drama(欧拉回路)
- Codeforces 723E One-Way Reform(欧拉回路)
- CodeForces 723E -One-Way Reform 构造+ 欧拉回路
- codeforces 723e One-Way Reform (欧拉回路) || 欧拉回路路径输出模板
- Codeforces Round #440 Div. 2 E:Points, Lines and Ready-made Titles
- Codeforces Points and Segments (easy)
- [欧拉回路 并查集] Codeforces 547D #305 (Div. 1) D. Mike and Fish
- Codeforces 452 E. Segments Removal
- codeforces 899e Segments Removal
- Codeforces Round #319 (Div. 2)E Points on Plane
- [省选前题目整理][CodeForces 527E]Data Center Drama(欧拉回路+构造)
- 63 leetcode - Unique Paths
- zabbix 临时关闭报警
- Thrift 服务器端的几种工作模式分析
- 最优合并问题
- JavaScript数据转换三——parseInt与parseFloat的区别及判别方式
- [欧拉回路] Codeforces 429E #245 (Div. 1) E. Points and Segments
- 地图定位技术
- 数独问题
- EOJ 1809 询问
- 64 leetcode - Unique Paths II
- javascript-深入浅出-类型检测
- Swift3.0 GCD多线程详解
- Red Hat Enterprise Linux 7(RHEL7)配置静态IP地址
- 百度地图操作label 鼠标滑动事件显示、隐藏