Number of possible binary strings of length k

限制是:不能有连续的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)。 

 

posted @ 2012-08-17 18:33  nosaferyao  阅读(132)  评论(0编辑  收藏  举报