汉诺塔V
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2404 Accepted Submission(s): 1419
Problem Description
用1,2,...,n表示n个盘子,称为1号...
分类:
其他好文 时间:
2014-07-27 11:14:32
阅读次数:
288
汉诺塔VI
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1374 Accepted Submission(s): 984
Problem Description
n个盘子的汉诺塔问题的最少移动次数是2^n...
分类:
其他好文 时间:
2014-07-27 11:13:12
阅读次数:
185
汉诺塔III
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 9235 Accepted Submission(s): 4125
Problem Description
约19世纪末,在欧州的商店中出售一种智...
分类:
其他好文 时间:
2014-07-26 02:03:16
阅读次数:
250
题目链接:uva 279 - Spin
题目大意:进行一个游戏,给出初始状态,要求问说最少多少步可以让所有的环移动出来。移动规则如图所示。
解题思路:一开始以为是隐式图搜索,写完TLE了。后来发现这道题和汉诺塔是一个思路,都是采取最优策略,并且说左边环的状态不会影响右边环。所以dp[i]表示从右边数,第i个为v,其他均为h的步数(由全h变换至)。
模拟最优过程有dp[i]=dp[i?...
分类:
其他好文 时间:
2014-07-23 13:04:56
阅读次数:
268
一 基本概念分治法,顾名思义分而治之的意思,就是把一个复杂的问题分成两个或很多其它的同样或相似的子问题,再把子问题分成更小的子问题……直到最后子问题能够简单的直接求解,原问题的解即子问题的解的合并。二基本思想及策略分治法的设计思想是:将一个难以直接解决的大问题,切割成一些规模较小的同样问题,以便各个...
分类:
其他好文 时间:
2014-07-23 12:37:56
阅读次数:
209
问题:汉诺塔递归算法时间复杂度算法如下:解释:size表示汉诺塔的规模,startStack表示汉诺塔起始,endStack表示完成,midStack表示辅助defTowers(size,startStack,endStack,midStack):ifsize==1:print‘Movediskfrom‘,firstStack,‘to‘,endStackelse:Towers(size-1,firstStack,..
分类:
其他好文 时间:
2014-07-23 00:21:18
阅读次数:
1610
汉诺塔
汉诺塔II hdu1207:
先说汉若塔I(经典汉若塔问题),有三塔,A塔从小到大从上至下放有N个盘子,现在要搬到目标C上,
规则小的必需放在大的上面,每次搬一个,求最小步数。这个问题简单,DP:a[n]=a[n-1]+1+a[n-1],先把
上面的n-1个放在B上,把最大的放在目标C上,再把N-1个放回到C上即可。
网上的一种最优解法如下:(1)将x(1
#inc...
分类:
其他好文 时间:
2014-07-20 23:18:31
阅读次数:
272
工作之余闲来无聊,于是就有了用JS来实现算法演示的想法,很久以前用JS实现过选择排序,不过源程序找不到了! 汉诺塔的递归算法:void move(int n,char a,char b,char c){ if(n==1) printf("\t%c->%c\n",a,c); ...
分类:
其他好文 时间:
2014-07-16 20:57:51
阅读次数:
228
汉诺塔VIII,在经典汉若塔问题上,问n个盘子的情况下,移动m次以后,是什么状态。
我的思路:本质还是dfs,但是用m的值来指引方向,每搜一层确定第i个盘子在哪个塔,o(n)的算法,看图说明:...
分类:
其他好文 时间:
2014-07-12 18:11:47
阅读次数:
214
/* 先说汉若塔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