/* 先说汉若塔I(经典汉若塔问题),有三塔,A塔从小到大从上至下放有N个盘子,现在要搬到目标C上,
规则小的必需放在大的上面,每次搬一个,求最小步数。这个问题简单,DP:a[n]=a[n-1]+1+a[n-1],先把
上面的n-1个放在B上,把最大的放在目标C上,再把N-1个放回到C上即可。
现在是汉若塔II,改为四个塔,开始方程想简单了,不是最优的。
网上的一种最优解法如下:
(1)...
分类:
其他好文 时间:
2014-07-11 08:02:16
阅读次数:
365
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1294题意:思路:f[i][j][st]表示从(i,j)出 发到(i,j)停止组成的回路、状态为st的最小步数。从每个0的位置(i,j)进行BFS一次,得到所有的状态。判断一个路径是否包含某...
分类:
其他好文 时间:
2014-06-23 07:51:05
阅读次数:
241
题目链接:uva 10795 - A Different Task
题意:
新汉若塔问题,有n个盘子,放在3个盘子上,给你一个初始状态和一个结束状态,问你最小步数怎样到达。
思路:
递归+状态转移,直接从初态到末态好像不是那么好办,对最大的一块n,首先肯定要把他放在末态的位置上,假设开始在1号位置,要放到3号位置,那么必须先到达这个状态s:1~n-1必须都从大到小放在2上面...
分类:
其他好文 时间:
2014-06-22 19:15:36
阅读次数:
187
题目:给定两个字符串word1,word2,将word2变成word1所需的最小步数。规定只能用以下三种操作进行修改,且每种操作的步数都计为1.
op1:插入一个字符
op2:删除一个字符
op3:替换一个字符
例:
word1 = word, word2 = wore, 则将wore的e替换为d则可。
word1 = word,word2 = wor,则在wor的后面插入一个d则可...
分类:
其他好文 时间:
2014-05-25 22:56:24
阅读次数:
303
题意:这个题是以坦克大战为原型出来的题目,就是走迷宫的变种,给定一个地图mxn的地图,地图上有普通的砖B,金砖S,河R,空地E,和一个宝物位置T,和你的位置Y,求吃到宝物的最小步数(坦克通过普通砖B需要两步,空地E一步,不能通过金砖和河)..样例输入3
4YBEBEERESSTE0 0样例输出8解题...
分类:
其他好文 时间:
2014-05-21 20:29:37
阅读次数:
264
题目链接:POJ 3083 Children of the Candy
Corn【题意】给出一个迷宫,不超过40*40,‘#’代表墙,‘.’代表能走,‘S’是起点,‘E’是终点。分别求出从起点一直沿左走,一直沿右走,走到终点所需要的步数。以及走出迷宫的最小步数。【思路】首先最小步数很简单,一个普通B...
分类:
其他好文 时间:
2014-05-19 10:03:59
阅读次数:
312
d[n]=min(dp[n-1]+1,dp[n、2]); n为偶数
dp[n]=dp[n-1]+1; 答案为18 怎么通过计算求得答案? #includeusing namespace std;int d[2014];int
min(int x,int y){ if(x>y) return y; e...
分类:
其他好文 时间:
2014-05-15 21:05:33
阅读次数:
387
题意:(八皇后问题的变形)给定8个皇后的位置,然后问最少要走几步使得每个皇后之间可以不相互攻击(不在同一行同一列同一斜线)。其中走的过程每步可以横着竖着斜着走多个格子。
解法:先枚举所有合法的八皇后局面(总共92种)。然后将给的点对合法八皇后局面进行匹配。dp[i][j]表示合法八皇后前i个点用掉给定八皇后集合的子集j所花费的最小步数。这里的匹配相当于两个集合各八个点,进行一一配对。原来...
分类:
其他好文 时间:
2014-05-08 11:13:51
阅读次数:
317
题目;http://poj.org/problem?id=3182题意:一个棋盘中间有一个联通块,给你一个起点让你从起点开始绕联通块外围一圈并回到起点,求最小步数。分析:首先根据数据的范围比较小,所以觉得应该是搜索,而且是BFS。朴素的想法是从起点开始BFS
8个方向扩展,不过这样肯定要跪。注意到这...
分类:
其他好文 时间:
2014-05-07 11:18:41
阅读次数:
330