博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVALive 3662 Another Minimum Spanning Tree
阅读量:5249 次
发布时间:2019-06-14

本文共 1780 字,大约阅读时间需要 5 分钟。

同poj3241

 

#include
#include
#define N 100010#define INF 0x3f3f3f3f#define LL long longusing namespace std;struct point{ int x,y,id; bool operator<(const point &p) const { return x==p.x?y
0) { if (bit[x].w>w) bit[x].w=w,bit[x].p=p; x-=x&-x; }}void addedge(int a, int b, int w){ ++tot; e[tot].a=a,e[tot].b=b,e[tot].w=w;}int dist(point a, point b){ return abs(a.x-b.x)+abs(a.y-b.y);}int main(){ int Case=0; while(scanf("%d",&n)!=EOF&&n!=0) { tot=0; for (int i=1;i<=n;i++) { scanf("%d%d",&p[i].x,&p[i].y); p[i].id=i; } for (int dir=1;dir<=4;dir++) { if (dir==2||dir==4) for (int i=1;i<=n;i++) swap(p[i].x,p[i].y); else if (dir==3) for (int i=1;i<=n;i++) p[i].x=-p[i].x; sort(p+1,p+n+1); for (int i=1;i<=n;i++) a[i]=b[i]=p[i].y-p[i].x; sort(b+1,b+1+n); m=unique(b+1,b+1+n)-b-1; for (int i=1;i<=n;i++) a[i]=lower_bound(b+1,b+m+1,a[i])-b; for (int i=1;i<=m;i++) bit[i].w=INF,bit[i].p=-1; for (int i=n;i>=1;i--) { int pos=query(a[i]); if (pos!=-1) addedge(p[i].id,p[pos].id,dist(p[i],p[pos])); update(a[i],p[i].x+p[i].y,i); } } LL ans=0; sort(e+1,e+tot+1); for (int i=1;i<=n;i++) f[i]=i; for (int i=1;i<=tot;i++) if (find(e[i].a)!=find(e[i].b)) { f[find(e[i].a)]=find(e[i].b); ans+=e[i].w; } printf("Case %d: Total Weight = %lld\n",++Case,ans); } return 0;}

  

转载于:https://www.cnblogs.com/wzb-hust/p/4863676.html

你可能感兴趣的文章
Ubuntu(虚拟机)下安装Qt5.5.1
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
爬虫-通用代码框架
查看>>
2019春 软件工程实践 助教总结
查看>>
YUV 格式的视频呈现
查看>>