JZOJ 4740 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划
2016-09-09 19:30
316 查看
Zjr506的捕猫计划
题目大意
给出有n个点,m条边的一个图,现在要删掉一些边,使得该图内没有环,问实现目标的最小代价。(代价即为删掉的边的总长度)数据范围
N<=10000,M<=50000题解
这题嘛,其实挺简单的,正着删边做较困难,那就正难则反,倒着做,让保留的边的总长度最大,那自然代价就最小。然后跑一边最大生成树,求出最大保留总长度K。
则答案就为所有边的长度-K。
Code(Pascal)
var w:array[0..60000,1..2] of extended; bj:array[0..60000,1..2] of longint; len:array[0..60000] of extended; fa:array[0..12000] of longint; n,m,j,k,l,i,o,p:Longint; ans:extended; function distance(x,y:longint):extended; begin exit(sqrt(sqr(w[x,1]-w[y,1])+sqr(w[x,2]-w[y,2]))); end; procedure sjzl; var i,k:longint; begin randomize; for i:=1 to n div 2 do begin k:=random(n div 2)+1+n div 2; bj[0]:=bj[i]; bj[i]:=bj[k]; bj[k]:=bj[0]; len[0]:=len[i]; len[i]:=len[k]; len[k]:=len[0]; end; end; procedure qsort(l,r:longint); var i,j:longint; m:extended; begin i:=l; j:=r; m:=len[(l+r) div 2]; repeat while len[i]>m do inc(i); while len[j]<m do dec(j); if i<=j then begin bj[0]:=bj[i]; bj[i]:=bj[j]; bj[j]:=bj[0]; len[0]:=len[i]; len[i]:=len[j]; len[j]:=len[0]; inc(i); dec(j); end; until i>j; if l<j then qsort(l,j); if i<r then qsort(i,r); end; function find(o:longint):longint; begin if fa[o]=o then exit(o); fa[o]:=find(fa[o]); exit(fa[o]); end; begin readln(n,m); for i:=1 to n do readln(w[i,1],w[i,2]); for i:=1 to m do begin readln(bj[i,1],bj[i,2]); len[i]:=distance(bj[i,1],bj[i,2]); end; for i:=1 to 6 do sjzl; qsort(1,m); for i:=1 to n do fa[i]:=i; for i:=1 to m do if find(bj[i,1])<>find(bj[i,2]) then begin fa[fa[bj[i,2]]]:=fa[bj[i,1]]; len[i]:=0; end; ans:=0; for i:=1 to m do ans:=ans+len[i]; writeln(ans:0:9); end.
相关文章推荐
- JZOJ4740. 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划(2017.8B组)
- 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划
- JZOJsenior4740.【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划
- JZOJ 4739 【雅礼联考GDOI2017模拟9.2】Ztxz16学图论
- 2017.08.19【NOIP提高组】模拟赛B组 【雅礼联考GDOI2017模拟】Zjr506的捕猫计划
- JZOJ4739 【雅礼联考GDOI2017模拟9.2】Ztxz16学图论 莫队加并查集
- 【雅礼联考GDOI2017模拟】Zjr506的捕猫计划
- JZOJ4739. 【雅礼联考GDOI2017模拟9.2】Ztxz16学图论(2017.8B组)
- 【雅礼联考GDOI2017模拟9.2】Ztxz16学图论
- Day 5 jzoj4309. 【NOIP2015模拟11.4】刷题计划
- JZOJ 3804. 【NOIP2014模拟8.24】小X 的AK 计划
- 【JZOJ5341】【NOIP2017模拟9.2A组】密州盛宴
- JZOJ__Day 10:【普及模拟】【USACO】贝茜的晨练计划
- 【JZOJ4742】【NOIP2016提高A组模拟9.2】单峰
- 【雅礼联考GDOI2017模拟9.2】Ztxz16学图论
- 【雅礼联考GDOI2017模拟9.2】Ztxz16学图论
- JZOJ4760. 【雅礼联考GDOI2017模拟9.4】同桌的你
- JZOJ 3351.【NOI2013模拟】神牛养成计划2
- 【JZOJ5342】【NOIP2017模拟9.2A组】赤壁情
- JZOJ4744. 【NOIP2016提高A组模拟9.2】同余 一类比较好的分类思想+根号算法