中国三十四城市的货郎担回路15199千米
在网上找到中国三十四个城市的经纬度,计算出各个城市之间的球面距离,做一个就近连通图,使用触摸空洞回溯法计算出了最短的几个哈密顿圈,最短的一个就是中国三四个城市的货郎担回路了。需要说明的是三十四个城市之间的距离与原来三十一个城市之间的老距离不一样。
下面这个图形就是中国三十四个城市的货郎担回路...
分类:
其他好文 时间:
2014-12-20 07:11:13
阅读次数:
342
/*
* 八皇后问题回溯法编程练习
* 在8×8的棋盘上,放置8个皇后,两个皇后之间不能两两攻击
* 也即,直线,垂直45度、135度方向不能出现两个皇后
*
* copyright Michael 2014-12-19
* QQ 1192065414
**/
#include
#include
#include
#include
using namespace std;
...
分类:
编程语言 时间:
2014-12-19 09:18:07
阅读次数:
188
题目链接:http://poj.org/problem?id=3414题意:给你两个容器 A B 问是否能够经过有限的步骤倒水,得到容量为 C 的水,输出最小的步数,同时输出每一步的操作。如果不能达到目标状态,则输出impossible。分析:这题跟hdu1495一样,需要分情况考虑,不过这里回溯输...
分类:
其他好文 时间:
2014-12-19 01:51:19
阅读次数:
173
1.回溯法算法思想:定义: 回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。1、回溯法适用:有许多问题,当需要找出它的...
分类:
编程语言 时间:
2014-12-18 00:00:40
阅读次数:
488
八皇后问题,是19世纪著名的数学家高斯在1850年提出的:在8×8格的国际象棋盘上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列、同一斜线上,试问有多少种摆法?高斯先生给出的答案是“76”种,实际是76种吗? 八皇后问题是回溯算法的典型应用,但是本文提供递归的求法。 ...
分类:
其他好文 时间:
2014-12-16 22:19:48
阅读次数:
302
问题描述: 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋棋盘上放置八个皇后,使得任意两个皇后不能互相攻击,即任何行、列或对角线(与水平轴夹角为45°或135°的斜线)上不得有两个或两个以上的皇后。对于这个问题.....
分类:
其他好文 时间:
2014-12-16 18:43:27
阅读次数:
177
题目描述
一天早上,你起床的时候想:“我编程序这么牛,为什么不能靠这个赚点小钱呢?”因此你决定编写一个小游戏。
游戏在一个分割成w * h个正方格子的矩形板上进行。如图所示,每个正方格子上可以有一张游戏卡片,当然也可以没有。
当下面的情况满足时,我们认为两个游戏卡片之间有一条路径相连:
路径只包含水平或者竖直的直线段。路径不能穿过别的游戏卡片。但是允许路...
分类:
其他好文 时间:
2014-12-16 11:50:30
阅读次数:
365
【Combination Sum I】
Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where
the candidate numbers sums to T.
The same repeated number may be cho...
分类:
其他好文 时间:
2014-12-16 11:45:46
阅读次数:
186
题目大意:N*N的棋盘上放N个皇后,N个皇后不能出现在同一行,同一列或是同一斜行。
思路:直接枚举判断太慢了,考虑到每行每列只有一个皇后,那么用一个数组C[x]表示第
x行放置的皇后所在的列编号,即x表示行,C[x]表示列。判断是否和前边所放皇后冲突可以
判断当前第cur行与之前的0~j行是否冲突。
C[cur] == C[j] || cur-C[cur] == j-C[j] || cur+C[cur] == j+C[j]分别判断是否在同一列,同一
主对角线,同一副对角线上。
但是还可以继续优化。直接用一个...
分类:
其他好文 时间:
2014-12-16 10:06:26
阅读次数:
149
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2586思路:在求解最近公共祖先的问题上,用到的是Tarjan的思想,从根结点开始形成一棵深搜树,非常好的处理技巧就是在回溯到结点u的时候,u的子树已经遍历, 这时候才把u结点放入合并集合中,这样u结点和所...
分类:
其他好文 时间:
2014-12-15 01:24:41
阅读次数:
266