题意:给定n个点,将所有点用一条线连起来,使得线最短。

分析:用d[i][j]代表走过了1~max(i,j)之间的点。dist表示两点间的距离。作者的代码可谓神仙代码,细看才发现逻辑的奥妙。

#include<iostream>
#include<string.h>
#include<sstream>
#include<set>
#include<algorithm>
#include<vector>
#include<map>
#include<queue>
#include<math.h>
using namespace std;
const int maxn = 50 + 5;
double x[maxn], y[maxn], dist[maxn][maxn], d[maxn][maxn];//离散化
int main()
{int n;while (cin >> n&&n) {for (int i = 1; i <= n; i++) {cin >> x[i] >> y[i];}for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++)dist[i][j] = sqrt((x[i] - x[j])*(x[i] - x[j]) + (y[i] - y[j])*(y[i] - y[j]));for(int i=n-1;i>=2;i--)for (int j = 1; j < i; j++) {if (i == n - 1)d[i][j] = dist[i][n] + dist[j][n];else d[i][j] = min(dist[i + 1][i] + d[i + 1][j], dist[j][i + 1] + d[i + 1][i]);//强制新加入的点小于被连接的点}printf("%.2lf\n", dist[1][2] + d[2][1]);}return 0;
}

uva1347Tour相关推荐

最新文章

  1. 解决外部符号错误:_main,_WinMain@16,__beginthreadex
  2. vue 富文本存储_Vue富文本编辑器
  3. mysql主从同步默认延迟_减少mysql主从数据同步延迟问题的详解
  4. opcclient远程连接opc服务器_软件 | 服务器远程连接软件MobaXterm
  5. 从fastjson的TypeReference用法,推导如何实现泛型反射
  6. 通俗易懂,什么是.NET Core以及.NET Core能做什么
  7. centos下利用httpd搭建http服务器方法
  8. 前端学习(3110):react-hello-函数式组件
  9. 读懂这本书,才算读懂阿里大数据
  10. matlab模拟调制过程,模拟信号的调制方式有哪三种?调制与解调是个啥过程
  11. 【算法导论】【排序】—— 计数排序(counting sort)
  12. 系统学习机器学习之正则化(一)
  13. 【一天一个C++小知识】005. C++中的句柄类(智能指针)
  14. paip.提升稳定性---c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out
  15. 交换机基本原理与配置(包含ensp交换机配置命令)
  16. android的UI性能优化
  17. Ubuntu系统Vscode安装以及配置C++环境(一条龙服务)
  18. 喝java茶,我为你泡一杯花茶
  19. 你要找的cocos面试答案都在这里了!
  20. 六款好用的Mac最流行的开发工具,程序员必看~

热门文章

  1. RabbitMQ绑定(bindings)
  2. 如何实现模糊查询LIKE
  3. 单体 Bean 注册实例
  4. EasyExcel读写Excel的基本使用
  5. 在vs code中创建代码片段
  6. 不同服务器怎么响应ajax,如何从服务器获得响应而无需刷新和使用JQuery/AJAX?
  7. 50个直击灵魂的问题_当妈后,你想过这三个直击灵魂的问题吗?
  8. permission denied和linux赋值权限chmod命令
  9. vue -- 动态加载组件 (tap 栏效果)
  10. designpatterns -- strategy