HDU4081 Qin Shi Huang's National Road System
先求最小生成树
再遍历每一对顶点,如果该顶点之间的边属于最小生成树,则剪掉这对顶点在最小生成树里的最长路径
否则直接剪掉连接这对顶点的边~
用prim算法求最小生成树最长路径的模板~
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
const int maxn=;
const int inf=1e9;
double g[maxn][maxn],d[maxn],w[maxn];
int visit[maxn],N,S,P,pre[maxn];
double len[maxn][maxn];//表示点i,j在最小生成树上的最长路径
double c[maxn][maxn];
void init () {
for (int i=;i<maxn;i++)
for (int j=;j<maxn;j++)
g[i][j]=inf,c[i][j]=,len[i][j]=;
}
double prim (int s) {
fill (d,d+maxn,inf);
fill (visit,visit+maxn,);
for (int i=;i<=N;i++) pre[i]=i;
d[s]=;
double ans=;
for (int i=;i<=N;i++) {
int u=-,min=inf;
for (int j=;j<=N;j++)
if (!visit[j]&&d[j]<min) {
u=j;
min=d[j];
}
if (u==-) return -;
visit[u]=;
ans+=d[u];
if (pre[u]!=u) c[u][pre[u]]=c[pre[u]][u]=;
for (int v=;v<=N;v++)
if (!visit[v]&&g[u][v]!=inf&&g[u][v]<d[v]) {
d[v]=g[u][v];
pre[v]=u;
}
for (int v=;v<=N;v++)
if (visit[v]&&u!=v) len[u][v]=len[v][u]=max(len[pre[u]][v],d[u]);
}
return ans;
}
struct node {
double x,y;
}Node[maxn];
int main () {
int T;
scanf ("%d",&T);
while (T--) {
scanf("%d",&N);
for (int i=;i<=N;i++) scanf ("%lf %lf %lf",&Node[i].x,&Node[i].y,&w[i]);
init ();
for (int i=;i<=N;i++)
for (int j=i+;j<=N;j++)
g[i][j]=g[j][i]=sqrt((Node[i].x-Node[j].x)*(Node[i].x-Node[j].x)+(Node[i].y-Node[j].y)*(Node[i].y-Node[j].y));
double mst=prim();
double Max=;
for (int i=;i<=N;i++)
for (int j=i+;j<=N;j++)
if (!c[i][j]) Max=max(Max,(w[i]+w[j])/(mst-len[i][j]));
else Max=max(Max,(w[i]+w[j])/(mst-g[i][j]));
printf ("%.2f\n",Max);
}
return ;
}
HDU4081 Qin Shi Huang's National Road System的更多相关文章
- HDU4081 Qin Shi Huang's National Road System —— 次小生成树变形
题目链接:https://vjudge.net/problem/HDU-4081 Qin Shi Huang's National Road System Time Limit: 2000/1000 ...
- HDU4081 Qin Shi Huang's National Road System 2017-05-10 23:16 41人阅读 评论(0) 收藏
Qin Shi Huang's National Road System ...
- HDU4081:Qin Shi Huang's National Road System (任意两点间的最小瓶颈路)
Qin Shi Huang's National Road System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...
- hdu-4081 Qin Shi Huang's National Road System(最小生成树+bfs)
题目链接: Qin Shi Huang's National Road System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- HDU4081 Qin Shi Huang's National Road System(次小生成树)
枚举作为magic road的边,然后求出A/B. A/B得在大概O(1)的时间复杂度求出,关键是B,B是包含magic road的最小生成树. 这么求得: 先在原图求MST,边总和记为s,顺便求出M ...
- hdu4081 Qin Shi Huang's National Road System 次小生成树
先发发牢骚:图论500题上说这题是最小生成树+DFS,网上搜题解也有人这么做.但是其实就是次小生成树.次小生成树完全当模版题.其中有一个小细节没注意,导致我几个小时一直在找错.有了模版要会用模版,然后 ...
- hdu 4081 Qin Shi Huang's National Road System (次小生成树)
Qin Shi Huang's National Road System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...
- UValive 5713 Qin Shi Huang's National Road System
Qin Shi Huang's National Road System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...
- hdu 4081 Qin Shi Huang's National Road System (次小生成树的变形)
题目:Qin Shi Huang's National Road System Qin Shi Huang's National Road System Time Limit: 2000/1000 M ...
随机推荐
- 后台异常 - Unrecognized Windows Sockets error: 0: JVM_Bind
问题描述 LifecycleException: Protocol handler initialization failed: java.net.SocketException: Unrecogn ...
- 在MyEclipse中修改文件名出现问题
问题描述:An exception has been caught while processing the refactoring 'Rename Compilation Unit'. 问题原因:项 ...
- SSM项目中的.tld文件是什么,有什么作用?怎么自定义tld文件
原文链接:https://www.cnblogs.com/guaishoubiubiu/p/8721277.html TLD术语解释:标签库描述文件,如要在JSP页面中使用自定义JSP标签,必须首先定 ...
- flask入门(一)
flask是一个轻量级的框架,据说跟django跟比是真的轻. 首先要先配置一个虚拟环境,flask项目需要在那个虚拟环境里运行,这里需要用的venv库实在python3里的标准库,不过有的linux ...
- 安装MySQL5.7.22遇到的坑
安装MySQL: 第一步:将压缩包解压后,手动新建名为my.ini的文本文档,代码内容如下: #代码开始[mysql]default-character-set=utf8[mysqld]#skip-g ...
- Nginx中常见问题与错误处理
1.400 bad request错误的原因和解决办法 配置nginx.conf相关设置如下. client_header_buffer_size 16k;large_client_header_bu ...
- Apache Kafka(十一)Topic 的配置与组成
Topic 的配置与组成 之前我们仅主要介绍了Kafka Producer与Kafka Consumer 的相关配置,而未详细介绍过有关topic的配置.Topic的配置在Kafka 使用中也至关重要 ...
- ansible playbook详解
ansible playbook是由yml语法书写,结构清晰,可读性强,所以必须掌握yml基础语法 语法 描述 缩进 YAML使用固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tabs键 ...
- Java传(1)
____________________________去告诉世界,我已经横空出世了! 你好丫,世界! public class HelloWorld{ public static void main ...
- mvc:annotation-driven的前缀 "mvc"未绑定
缺少MVC的配置,正确配置如下: <beans xmlns="http://www.springframework.org/schema/beans" xmlns ...