给出n个点,按X坐标升序给出,从1号点走到N号点再返回1号点所需的最小距离,要求所有点至少被走到一次
要求1->n的路上所经过的点X坐标升序
n->1路上所经过的点X坐标降序
具体详解参考:http://blog.csdn.net/xiajun07061225/article/details/8092247
#include "stdio.h"
#include "stri...
分类:
其他好文 时间:
2015-07-24 20:49:22
阅读次数:
128
Island and study-sister
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 790 Accepted Submission(s): 273
Problem Description
Member...
分类:
其他好文 时间:
2015-07-15 17:00:50
阅读次数:
300
1088. 邮递员小FDescription因为制造类专业很难在大城市立足,曾经立志振兴中华之工业的小F,果断在本科毕业后转行做了一名光荣的邮递员。他的任务是每天从总局出发,行走于所管辖区域的若干的邮局,收集所有的信,然后再汇总返回总局。因为工作繁忙,同一个邮局他每天只希望去一次。来往于任意两个邮局...
分类:
其他好文 时间:
2015-07-14 20:24:24
阅读次数:
173
连续型Hopfield在matlab中没有直接的工具箱,所以我们们根据Hopfield给出的连续行算法自行编写程序。本文中,以求解旅行商问题来建立Hopfield网络,并得到解,但是该解不一定是最优解,用Hopfield得到的解可能是次优解,或没有解。直接上问题:8个城市的坐标:0.100000.....
分类:
其他好文 时间:
2015-07-12 23:19:01
阅读次数:
226
本来以为在了解蚁群算法的基础上实现这道奇怪的算法题并不难,结果实际上大相径庭啊。做了近三天时间,才改成现在这能勉强拿的出手的模样。由于公式都是图片,暂且以截图代替那部分内容吧,mark一记。蚁群算法解TSP问题的javascript实现 目录(又是神奇的手动目录。。) 1 蚁群算法 (1) 蚁...
分类:
编程语言 时间:
2015-07-07 16:07:35
阅读次数:
235
问题描述:
上述问题可以使用动态规划的方法来解决。
下面是解决思路的具体介绍:
1. 最优子结构:
假设d[i][j]表示从起点1出发到达i及j两个顶点的最短路程之和。为此可以假设K为此段路程上与j相加的节点,则d[i][j] = d[i][k] + len[k][j]。
证明:若存在一个更短的路径d[i][k],则就应该存在更短的路径d[i][j],这与假设矛盾,因此得证。下面来寻找j相...
分类:
其他好文 时间:
2015-07-06 12:17:05
阅读次数:
239
模拟退火算法解决旅行商问题。
根据概率产生新解主要包含两个途径:二交换和三交换
二交换是在TSP回路中选择两个城市直接交换
三交换是在TSP回路中选择三个点,p1,p2,p3,然后将p1,p2之间的城市直接与p3之前对应长度的城市交换
这里产生新解的方法不唯一,只要能够保证产生的新解可以包含最优解所在的解空间即可
是否接受新解主要包含两种情况:
新解比历史最优解好,则百分百接受新解
新...
分类:
编程语言 时间:
2015-06-29 10:17:58
阅读次数:
240
题目大意:给出n个点,要求你从最左边那个点走到最右边那个点,每个点都要被遍历过,且每个点只能走一次,问形成的最短距离是多少解题思路:用dp[i][j]表示第一个人走到了第i个点,第二个人走到了第j个点且已经遍历了1–max(i,j)的所有点的最短距离。因为dp[i][j] = dp[j][i]的,所以我们设i > j的
那么就有
当j < i-1 时,dp[i][j] = dp[i-1][j]...
分类:
其他好文 时间:
2015-06-13 00:01:03
阅读次数:
311
一,旅行商问题与H回路的联系(H回路 定义为 哈密尔顿回路)旅行商问题是希望售货员恰好访问每个城市一次,最终回到起始城市所用的费用最低,也即判断图中是否存在一个费用至多为K的回路。(K相当于图中顶点的个数)由于售货员可以从某个城市到其他任何一个城市。因此,该问题对应的是一个完全图(设为G′)。而关于...
分类:
其他好文 时间:
2015-05-30 17:54:00
阅读次数:
289
算法设计的一般方法随机法依赖于随机数的统计特性。一个应用随机法的例子是快速排序。分治法动态规划贪心法近似法——旅行商问题指针在C语言中,通常声明一个void指针来表示泛型指针。对于泛型指针来说类型转换非常重要,因为只有告诉泛型指针通过何种类型来访问地址时,泛型指针才能正确取到值。这是由于泛型指针不会...
分类:
编程语言 时间:
2015-05-28 00:12:42
阅读次数:
352