题目:牛的旅行

思路:
先预处理出两点间的距离,跑一边floyd,然后处理出每个点到离它最远的和它连通的距离L[i]。
然后再对于每个点,枚举所有和它不连通的点j,用L[i]+L[j]+d(i,j)更新最小答案。
注意下,一个牧场的最长路径有可能比L[i]+L[j]+d(i,j)长。

代码:

#include<bits/stdc++.h>
using namespace std;#define maxn 150
#define db double
#define read(x) scanf("%d",&x)int n;
int X[maxn+5],Y[maxn+5];
db a[maxn+5][maxn+5];db L[maxn+5];int main() {read(n);for(int i=1;i<=n;i++) read(X[i]),read(Y[i]);for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) {int x;scanf("%1d",&x);if(x==0) {if(i!=j) a[i][j]=2e9;}else a[i][j]=sqrt((X[i]-X[j])*(X[i]-X[j])+(Y[i]-Y[j])*(Y[i]-Y[j]));}for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) a[i][j]=min(a[i][j],a[i][k]+a[k][j]);db ans=2e9,ans_=0;for(int i=1;i<=n;i++) {for(int j=1;j<=n;j++) if(a[i][j]<2e9) L[i]=max(L[i],a[i][j]);ans_=max(ans_,L[i]);}for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(a[i][j]>=2e9) ans=min(ans,L[i]+L[j]+sqrt((X[i]-X[j])*(X[i]-X[j])+(Y[i]-Y[j])*(Y[i]-Y[j])));printf("%.6lf",max(ans_,ans));return 0;
}

洛谷 P1522 牛的旅行 Cow Tours相关推荐

  1. p1522 牛的旅行 Cow Tours

    传送门 题目 农民 John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通.这样,Farmer John就有 ...

  2. P1522 牛的旅行 Cow Tours(floyd)

    给你平面上的一些点,一开始有一些点是相连的,相连的边权是两点间的欧几里得距离,输入数据保证至少存在一组互相不相连的点 把相连的点叫做一个联通块,一个联通块的直径是其中任意两点间最短路长度的最大值 现在 ...

  3. 信息学奥赛一本通 1343:【例4-2】牛的旅行 | 洛谷 P1522 [USACO2.4] 牛的旅行 Cow Tours

    [题目链接] ybt 1343:[例4-2]牛的旅行 洛谷 P1522 [USACO2.4] 牛的旅行 Cow Tours [题目考点] 1. 图论 最短路径 Floyd算法 Floyd算法时间复杂度 ...

  4. 洛谷1522 牛的旅行

    洛谷1522 牛的旅行 本题地址: http://www.luogu.org/problem/show?pid=1522 题目描述 农民 John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所 ...

  5. P1522 [USACO2.4] 牛的旅行 Cow Tours

    https://www.luogu.com.cn/problem/P1522 题目在这里 #include<bits/stdc++.h> using namespace std; doub ...

  6. P1522 [USACO2.4]牛的旅行 Cow Tours

    题目大意 链接 给出 n n n个牧区的坐标,某些牧区之间有路相连,一片连通的牧区被称为牧场(题目会给出至少2个牧场).现在要修一条路,连接两个不同的牧场.找出这条路,使连接的新牧场的直径最小.(一个 ...

  7. 洛谷1522牛的旅行

    题目:https://www.luogu.org/problemnew/show/P1522 简单地求了一堆最短路而已. 1.有时候sqrt里要 * 1.0,不知何故:本题需要吗? 2.那个地方是 f ...

  8. DP【洛谷P2134】 百日旅行

    [洛谷P2134] 百日旅行 题目背景 重要的不是去哪里,而是和你在一起.--小红 对小明和小红来说,2014年7月29日是一个美好的日子.这一天是他们相识100天的纪念日. (小明:小红,感谢你2场 ...

  9. 洛谷 P1027 Car的旅行路线

    洛谷 P1027 Car的旅行路线 题目描述 又到暑假了,住在城市 A 的 Car 想和朋友一起去城市 B 旅游.她知道每个城市都有 4 个飞机场,分别位于一个矩形的 4 个顶点上,同一个城市中 2  ...

最新文章

  1. DeepMind让AI变身天才数学家!首次提出两大数学猜想,登Nature封面
  2. Android移动开发之【Android实战项目】DAY7-项目结构
  3. MATLAB工作环境
  4. 中国靶材行业需求前景分析及发展形势研究报告2021版
  5. 弱类型、强类型、动态类型、静态类型语言的区别
  6. python输出字体的大小_Toby的Python笔记 | 预备知识:安装openpyxl学做电子表格
  7. 最新 Spring 系列教程,都在这了
  8. qt能使用logback_X04Logback的配置
  9. php防撞库,叉车防撞预警系统的必要性
  10. maven创建父项目和子项目
  11. Mysql 添加用户 授权等操作
  12. OpenCV图像处理篇之边缘检測算子
  13. 图像算法五:【图像小波变换】多分辨率重构、Gabor滤波器、Haar小波
  14. 随想录(windows静态库和动态库)
  15. python所有软件-这些Python开源软件解决了程序员几乎所有的问题
  16. raytrace 算法理论与实践
  17. SecureCRT 过期
  18. C语言实现简单的五子棋
  19. 上偏续关系哈斯图_[离散]哈斯图偏序集--最好理解版本
  20. eggs和egg是什么意思_eggs是什么意思_eggs的翻译_音标_读音_用法_例句_爱词霸在线词典...

热门文章

  1. 笔记本键盘乱码--字母键变快捷键
  2. 搜索图标居中的搜索框~iOS风格搜索框
  3. vue 在el-input加搜索图标
  4. 【Linux】win10/ubuntu 双系统安装遇到 gnu grub 2.0.3 或者 error symbol ‘grub_calloc‘ not found 的解决方法
  5. springboot微服务架构——搭建入门
  6. 第二树参与COP27可持续消费主题边会,探讨低碳办公解决方案
  7. Nature 为引,一文看懂个体化肿瘤疫苗前世今生
  8. 红宝书笔记《第7版》
  9. java.lang.reflect.InvocationTargetException 错误
  10. 问题: InvocationTargetException