Usaco2009 gold 修建道路
来源:互联网 发布:王师就剩一个连 知乎 编辑:程序博客网 时间:2024/05/16 20:30
题解:
很明显是最小生成树,,,,,,,
参考程序:
var n,m,i,j,x,y,lenb,t1,t2:longint; a:array[1..1000,1..2]of extended; b:array[0..1600000,1..2]of longint; fb:array[0..1600000]of extended; c:array[1..1000]of longint; ans:extended;function father(x:longint):longint;begin if c[x]=x then exit(x) else exit(father(c[x]));end;procedure kuaipai(l,r:longint);var i,j:longint; mid:extended;begin i:=l;j:=r; mid:=fb[(l+r)div 2]; repeat while fb[i]<mid do inc(i); while fb[j]>mid do dec(j); if i<=j then begin b[0]:=b[i]; b[i]:=b[j]; b[j]:=b[0]; fb[0]:=fb[i]; fb[i]:=fb[j]; fb[j]:=fb[0]; inc(i); dec(j); end; until i>j; if l<j then kuaipai(l,j); if i<r then kuaipai(i,r)end;begin readln(n,m); for i:=1 to n do begin readln(x,y); a[i,1]:=x; a[i,2]:=y; end; for i:=1 to m do begin readln(x,y); inc(lenb); b[lenb,1]:=x; b[lenb,2]:=y; fb[lenb]:=0; end; for i:=1 to n do for j:=1 to n do begin if i=j then continue; inc(lenb); b[lenb,1]:=i; b[lenb,2]:=j; fb[lenb]:=sqrt((a[i,1]-a[j,1])*(a[i,1]-a[j,1])+(a[i,2]-a[j,2])*(a[i,2]-a[j,2])); end; kuaipai(1,lenb); for i:=1 to lenb do c[b[i,1]]:=b[i,1]; for i:=1 to lenb do begin c[b[i,1]]:=father(b[i,1]); c[b[i,2]]:=father(b[i,2]); if c[b[i,1]]<>c[b[i,2]] then begin c[c[b[i,2]]]:=c[b[i,1]]; ans:=ans+fb[i]; end; end; writeln(ans:0:2);end.
0 0
- Usaco2009 gold 修建道路
- 【Usaco2009 gold 】修建道路
- 道路修建
- 道路修建
- 【NOI2011】道路修建
- 2435: [Noi2011]道路修建
- bzoj2435: [Noi2011]道路修建
- NOI2011道路修建 TreeDp
- [BZOJ2435] [Noi2011]道路修建
- bzoj 2435 道路修建
- [BZOJ2435][Noi2011]道路修建
- GDFZOJ 道路修建
- 【bzoj2435】道路修建
- 【DP】【LIS】道路修建
- 2435: [Noi2011]道路修建
- 3995: [SDOI2015]道路修建
- bzoj2435[Noi2011] 道路修建
- BZOJ2435: [Noi2011]道路修建
- mysql事件详解
- 我的JavaScript学习之路
- 终端启动service和activity
- Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
- Java中static变量相互引用导致的Bug
- Usaco2009 gold 修建道路
- win7双显示器如何设置
- IE无法上网,远程计算机或设备将不接受连接,其他浏览器可用
- 让VIM支持Python2 by update-alternatives
- 一次完整的HTTP事务是怎样一个过程?
- 文章标题
- POJ 2635 The Embarrassed Cryptographer (同余问题)
- Cannot proceed with delivery: an existing transporter instance is currently uploading this package
- 译-- Lambda Expressions >=java SE8 (Lambda表达式详解)