JZOJ 4740 捕猫计划
来源:互联网 发布:萧大的编程入门指南 编辑:程序博客网 时间:2024/04/27 08:55
题目大意
给出n个点,m条边,删除一些边,使图上不存在一个封闭图形。
n<=10000,m<=50000
时间限制 1s
空间限制 256M
解题思路
要使删除的边长度最小,就是剩下的边长度最大。而且图上不能有环,所以可以用最小生成树求解。
#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>#define maxn 10006#define maxm 50006#define fr(i,a,b) for(i=a;i<=b;i++)using namespace std;typedef long long ll;struct nod{ int x,y; double z;} l[maxm];double sqr(int x){ return x*x;}double dist(int x,int y,int w,int v){ return sqrt(sqr(x-w)+sqr(y-v));}bool cmp(nod a,nod b){ return a.z>b.z;}int i,n,m,fa[maxn],a[maxn][3];double ans;int get(int x){ if (fa[x]==x) return x; return fa[x]=get(fa[x]);}int main(){ scanf("%d%d",&n,&m); fr(i,1,n) scanf("%d%d",&a[i][1],&a[i][2]); ans=0; fr(i,1,m) { scanf("%d%d",&l[i].x,&l[i].y); l[i].z=dist(a[l[i].x][1],a[l[i].x][2],a[l[i].y][1],a[l[i].y][2]); ans+=l[i].z; } sort(l+1,l+m+1,cmp); fr(i,1,n) fa[i]=i; fr(i,1,m) { int t1=get(l[i].x),t2=get(l[i].y); if (t1!=t2) { fa[t1]=t2; ans-=l[i].z; } } printf("%.6f\n",ans); return 0;}
0 0
- JZOJ 4740 捕猫计划
- JZOJ 4740 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划
- jzoj 4740. 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划 最大生成树
- Zjr506的捕猫计划
- GDOI模拟 Zjr506的捕猫计划
- 【雅礼联考GDOI2017模拟】Zjr506的捕猫计划
- 2018.8.19总结3-Zjr506的捕猫计划
- 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划
- JZOJ4740. 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划(2017.8B组)
- JZOJsenior4740.【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划
- 2017.08.19【NOIP提高组】模拟赛B组 【雅礼联考GDOI2017模拟】Zjr506的捕猫计划
- JZOJ 3804. 【NOIP2014模拟8.24】小X 的AK 计划
- 【JZOJ 5419】【NOIP2017提高A组集训10.24】筹备计划
- JZOJ 5419. 【NOIP2017提高A组集训10.24】筹备计划
- 捕野鸡的领悟
- RAW_SOCKET捕包
- 捕鸟人与眼镜蛇
- 捕鸟人和鹳
- Framework 重装
- jsp的<jsp:setProperty>动作元素的value和param属性的区别。
- js修改html的样式
- 《深度探索C++对象模型》—Function语意学(The Semantics of Function)
- 【用脚趾头解决NOIP】(1):NOIP2010~NOIP2015普及组问题求解
- JZOJ 4740 捕猫计划
- 学习笔记--特权级代码段之间的转移(一)
- JZOJ4739. Ztxz16学图论
- opensuse自定义快捷键,ctrl+alt+t打开konsole
- 自己备份看看的
- IIS7.5 上 配置 PHP 环境
- 图像的灰度级差值
- javascript入门基础(一)
- codeforces 691A 模拟