hdu 2064 2077 汉诺塔变形

本文详细解析了汉诺塔问题中的数学模型与递归思想,通过建立递推公式得出不同盘子数量时移动所需的最少步骤,并针对特定条件下的最优解进行了深入探讨。

没什么,都是推公式。2064中设n个盘子需要g(n)步,则g(n)=3*g(n-1)+2,很好想,从而得通项公式g(n)=3^n-1;2077中加了一个条件,难想一些,为了便于说明,我们把三根柱子分别记为柱A、柱B、柱C,第n个盘子记为盘n,那么最优情况肯定是先把上面n-2个盘子移到柱C上,再把盘n-1和盘n依次移到柱B上,然后把柱C上的n-2个盘子移回柱A,接着把盘n-1和盘n移到柱C上,最后再把n-2个盘子移到柱C即可,这个过程中,把n-2个盘子从柱A移到柱C(或反向移动)的过程与2064题是完全一样的。故移动n个盘子的步数f(n)=3*g(n-2)+4,代入上面的通项公式得f(n)=3^(n-1)+1

转载于:https://www.cnblogs.com/moonbay/archive/2011/07/31/2122923.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值