Puzzle 长度为k的可能二进制字符串数

Puzzle 长度为k的可能二进制字符串数,puzzle,Puzzle,我的一个朋友最近被问到这个问题: 您必须计算长度为“K”的二进制字符串的数量。 约束条件:每个0的最左边都有一个1。这个问题可以改写为: 如果没有两个连续的0,但第一个元素应该是1(否则约束失败),那么长度为K的二进制序列可能有多少个。让我们忘记第一个元素(我们可以这样做,因为它总是固定的)。 然后我们得到了一个非常著名的任务,听起来像这样:“没有连续0的长度为K-1的二进制序列的数量是多少。”可以找到解释,例如 然后答案将是F(K+1),其中F(K)是从(12…)开始的第K个斐波那契数。∑ 从

我的一个朋友最近被问到这个问题:

您必须计算长度为“K”的二进制字符串的数量。
约束条件:每个0的最左边都有一个1。

这个问题可以改写为: 如果没有两个连续的0,但第一个元素应该是1(否则约束失败),那么长度为K的二进制序列可能有多少个。让我们忘记第一个元素(我们可以这样做,因为它总是固定的)。 然后我们得到了一个非常著名的任务,听起来像这样:“没有连续0的长度为K-1的二进制序列的数量是多少。”可以找到解释,例如

然后答案将是F(K+1),其中F(K)是从(12…)开始的第K个斐波那契数。

∑ 从n=0到⌊K/2⌋ (K-n)Cn的
;n是字符串中的零数

其思想是将每个0分组为1,并找到字符串的组合数,对于n个零,将有n个1分组到它们,因此字符串变为(k-n)个元素长。不能超过K/2个零,因为每个零的正左边没有足够的零。

例如,
111111[10][10]1[10]
对于K=13,n=3,这与斐波那契有什么关系,你能提供一些直觉吗?@Chander Shivdasani:编辑了一个答案。如果你不理解引用的解释,我可以在这里做