Number of possible binary strings of length k

本文探讨了如何使用动态规划解决拼接长度为k的字符串问题,限制为不能有连续的0,允许1连续。通过定义f0(n)表示长度为n且结尾为0的字符串个数,f1(n)表示长度为n且结尾为1的字符串个数,从而建立了递推公式并实现了动态规划的计算。

限制是:不能有连续的0, 1可以连续, 问拼成长度为k的串, 可能有多少个。 

方法

f0(n)表示长度为n的串, 结尾为0,符合上述要求的不同字符串个数

f1(n)表示长度为n的串, 结尾为1,符合上述要求的不同字符串个数 

那么f(n) = f0(n) + f1(n), 明显  f1(n) = f1(n-1) + f0(n-1),  f0(n) = f1(n-1), 

于是 f(n) = f1(n-1) + f0(n-1) +  f1(n-1) = 2 * f1(n-1) + f0(n-1)


可以使用动态规划计算。

也可以只求 f1(k)。 

 

转载于:https://www.cnblogs.com/nosaferyao/archive/2012/08/17/2644525.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值