hdu 4081 Qin Shi Huang's National Road System 次小生成树
来源:互联网 发布:同步文件软件 编辑:程序博客网 时间:2024/05/18 02:23
#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>using namespace std;const int MAXN=1024;const double INF=1e14;int n,vis[MAXN],use[MAXN][MAXN],pre[MAXN];double dist[MAXN],g[MAXN][MAXN],maxcost[MAXN][MAXN];double prim(){ double ret=0.0; memset(vis,0,sizeof(vis)); memset(use,0,sizeof(use)); memset(maxcost,0,sizeof(maxcost)); vis[0]=1; pre[0]=-1; for(int i=0;i<n;i++) { dist[i]=g[0][i]; pre[i]=0; } for(int i=1;i<n;i++) { double minc=INF; int p=-1; for(int j=0;j<n;j++) { if(!vis[j]&&dist[j]<minc) { minc=dist[j]; p=j; } } if(p==-1) return -1; ret+=dist[p]; vis[p]=1; use[p][pre[p]]=use[pre[p]][p]=1; for(int j=0;j<n;j++) { if(vis[j]&&j!=p) maxcost[j][p]=maxcost[p][j]=max(maxcost[j][pre[p]],minc); if(!vis[j]&&dist[j]>g[p][j]) { dist[j]=g[p][j]; pre[j]=p; } } } return ret;}int x[MAXN],y[MAXN],pe[MAXN];int main(){ int _,i,j; scanf("%d",&_); while(_--) { scanf("%d",&n); for(i=0;i<n;i++) scanf("%d%d%d",&x[i],&y[i],&pe[i]); for(i=0;i<n;i++) { g[i][i]=0; for(j=i+1;j<n;j++) { double t=pow((x[i]-x[j])*1.0,2)+pow((y[i]-y[j])*1.0,2); g[j][i]=g[i][j]=sqrt(t); } } double tp,t=prim(); double ans=-1; for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(i==j) continue; if(use[i][j]) { tp=(pe[i]+pe[j])*1.0/(t-g[i][j]); } else { tp=(pe[i]+pe[j])*1.0/(t-maxcost[i][j]); } ans=max(ans,tp); } } printf("%.2lf\n",ans); } return 0;}
0 0
- HDU 4081 Qin Shi Huang's National Road System (次小生成树算法)
- hdu 4081 Qin Shi Huang's National Road System(次小生成树)
- hdu 4081 Qin Shi Huang's National Road System(次小生成树变形)
- hdu 4081 Qin Shi Huang's National Road System(次小生成树变形)
- hdu 4081 Qin Shi Huang's National Road System (次小生成树的变形)
- HDU 4081 Qin Shi Huang's National Road System 最小/次小生成树的性质
- HDU 4081 Qin Shi Huang's National Road System (次小生成树)
- HDU 4081 Qin Shi Huang's National Road System (枚举次小生成树)
- 次小生成树学习小记 Hdu 4081 Qin Shi Huang's National Road System (模板)
- hdu 4081 Qin Shi Huang's National Road System(次小生成树)
- HDU 4081 Qin Shi Huang's National Road System 次小生成树
- HDU-#4081 Qin Shi Huang's National Road System(次小生成树变形)
- HDU 4081 Qin Shi Huang's National Road System (Prim, 次小生成树)
- hdu 4081 Qin Shi Huang's National Road System 次小生成树 算法
- hdu 4081 Qin Shi Huang's National Road System(次小生成树)
- HDU - 4081 Qin Shi Huang's National Road System(次小生成树)
- hdu 4081 Qin Shi Huang's National Road System 次小生成树
- HDU 4081 Qin Shi Huang's National Road System (次小生成树算法)
- Linux开机自启动与用户登录自启动
- pip 设置代理的方法
- play 框架目录结构
- sql server 和 mysql 的分页读取数据方法
- Java虚拟机(JVM)以及跨平台原理
- hdu 4081 Qin Shi Huang's National Road System 次小生成树
- 微软算法100道题------判断俩个链表是否相交
- Linux查看物理CPU个数、核数、逻辑CPU个数
- Android获取缓存大小和清除缓存功能
- android 通知NotificationManager
- 读取raw 文件夹下的资源
- C动态分配内存
- Hibernate中使用Hql查询出一定时间段的记录
- git 学习网页