递推杂模型

重新看了一下递推课件,一些新看懂的模型:

汉诺塔

f[i]为i个盘,借助第三根柱子转移到另一根上 的最小步数
必定经过这三步:
1.先将2..i从a->b,借助c,f[i-1]步
2.再将1从a->c,1步
3.将2..i从b->c,借助a,f[i-1]步

f[i]=2[i1]+1 f[i]=2i1

错排问题

n个人n本书,每个人的书都要和原本不同, 求方案数:
设f[i]表示n=i的答案。
1. 若第n个人与第x (1<=x<n) 个人互换书本,则方案数为f[n-2]
2. 若第n个人拿的书本是x,但x没有拿n的书本,则n的书本不能放在x手上(否则就是情况1),则相当于n-1个人n-1本书,答案f[n-1]
并且x有n-1种选取方法,因此 f[i]=(f[i1]+f[i2])(i1)

卡特兰数

http://blog.csdn.net/jokerwyt/article/details/77414853
凸多边形剖分:
设f[i]为i边形答案。
选边1,2,再选3..n任意一个,连成三角形。
那么左右两边分别是两个需要继续剖分的多边形。递推式列一下就是卡特兰数的第二种式子。

整数分解问题

把正整数N分解成M个正整数的和,M个加数相同但顺序不同认为是相同的方案,要求总方案数。如3=1+2跟3=2+1是两个相同的方案。
每次新建一个数,或给前面数全部加一.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值