TSP(个人模版)

简介: O(n^2)TSP: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 #define INF 0x3f3f3f3f 7 int n,d[1005],dp[1005][1005];...

O(n^2)TSP:

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<algorithm>
 4 #include<iostream>
 5 using namespace std;
 6 #define INF 0x3f3f3f3f
 7 int n,d[1005],dp[1005][1005];
 8 int dis(int a,int b)
 9 {
10     int tmp=abs(d[a]-d[b]);
11     return min(tmp,360-tmp);
12 }
13 int TSP_Dp()
14 {
15     dp[2][1]=dis(1,2);
16     for (int i = 3; i <= n + 1; i++) {
17         dp[i][i-1] = INF;
18 
19         for (int j = 1; j < i-1; j++) {
20             dp[i][i-1] = min(dp[i][i-1], dp[i-1][j] + dis(i, j));
21             dp[i][j] = dp[i-1][j] + dis(i, i-1);
22         }
23     }
24 
25     int ans = INF;
26     for (int i = 1; i <= n; i++)
27         ans = min(ans, dp[n+1][i] + dis(n+1, i));
28     return ans;
29 }
30 int main()
31 {
32     int t;
33     scanf("%d",&t);
34     while(t--)
35     {
36         d[1]=0;
37         int ans=0;
38         scanf("%d",&n);
39         for(int i=2;i<=n+1;i++)
40         {
41             int a;
42             scanf("%d%d",&a,&d[i]);
43             if(i==n+1)ans+=a*800;
44             ans+=10;
45         }
46         ans+=TSP_Dp();
47         printf("%d\n",ans);
48     }
49 }

 

目录
相关文章
|
存储 前端开发 算法
激光SLAM:ALOAM---后端lasermapping地图栅格化处理与提取
不同于前端的scan-to-scan的过程,ALOAM的后端是scan-to-map的算法,具体来说就是把当前帧和地图进行匹配,得到更准确的位姿同时也可以构建更好的地图.由于是scan-to-map的算法,因此计算量会明显高于scan-to-scan的前端,所以后端通常处于一个低频的运行频率,但是由于scan-to-map的精度往往优于scan-to-scan.因此后端也有比前端更高的精度.为了提高后端的处理速度,所以要进行地图的栅格化处理
激光SLAM:ALOAM---后端lasermapping地图栅格化处理与提取
|
2月前
|
编解码
ENVI无缝镶嵌、拼接栅格数据的方法
【8月更文挑战第10天】使用ENVI进行无缝镶嵌的方法包括:准备具有一致空间参考的栅格数据;通过“File”菜单逐个加载数据;启动“Seamless Mosaic”工具;添加待镶嵌图像;调整几何校正、颜色平衡及羽化参数以平滑过渡;设定输出路径与格式;最后执行镶嵌并检查结果质量,必要时微调参数直至满意。
|
5月前
|
存储 数据可视化 Cloud Native
用Ganos低代码实现免切片遥感影像浏览(二):动态栅格瓦片
本文介绍了Ganos全新发布了动态栅格瓦片能力,帮助用户将库内栅格数据或栅格分析结果快速可视化,无需依赖类似GeoServer等空间服务中间件,技术栈短平快,使用灵活高效。
ArcGIS And ENVI:如何进行植被指数的提取并制作成专题地图?
ArcGIS And ENVI:如何进行植被指数的提取并制作成专题地图?
236 0
|
5月前
|
算法 定位技术 计算机视觉
Python中ArcPy基于矢量要素批量将栅格影像切割为多个小部分
Python中ArcPy基于矢量要素批量将栅格影像切割为多个小部分
|
5月前
|
定位技术
ENVI无缝镶嵌工具Seamless Mosaic实现栅格遥感影像镶嵌拼接的方法
ENVI无缝镶嵌工具Seamless Mosaic实现栅格遥感影像镶嵌拼接的方法
207 1
|
5月前
|
定位技术
ENVI软件实现栅格遥感影像基于像元的镶嵌拼接
ENVI软件实现栅格遥感影像基于像元的镶嵌拼接
|
5月前
|
定位技术 Python
ArcGIS批量拼接大量栅格遥感影像:Mosaic工具
ArcGIS批量拼接大量栅格遥感影像:Mosaic工具
218 1
|
算法 JavaScript 数据可视化
基于leaflet-velocity的二维动态风场展示
本文讲解了leaflet-velocity插件,并利用插件进行了模拟的动态风场、洋流等信息的综合展示,让读者掌握集成方式。
971 0
基于leaflet-velocity的二维动态风场展示
|
机器学习/深度学习 传感器 算法
【VRP问题】基于蚁群结合 2-opt 解决多站点车辆路径问题 MDVRP附matlab代码
【VRP问题】基于蚁群结合 2-opt 解决多站点车辆路径问题 MDVRP附matlab代码