2
A
回答
2
這個問題可以重寫: 如果沒有兩個連續的0,但第一個元素應該是1(否則約束失敗),那麼長度K的二進制序列有多少個可能。讓我們忘記第一個元素(我們可以做它,因爲它總是固定的)。 然後,我們得到了一個非常有名的任務,它聽起來像這樣:「長度爲K-1的二進制序列的數目沒有連續的0。」例如,可以找到解釋here
然後答案將是F(K + 1)其中F(K)是從(1 1 2 ...)開始的第K個斐波納契數。
0
∑ From n=0 to ⌊K/2⌋ of (K-n)Cn
; n是字符串中的零的數量
這個想法是將每個0與1進行組合,並找到字符串的組合數,對於n個零將有n個分組給它們,因此字符串變爲(kn )元素很長。不能超過K/零,因爲沒有足夠的零到每個零的左側。
例如對於K = 13,n = 3的111111[10][10]1[10]
相關問題
- 1. 如何製作一個長度爲k比特的二進制字符串
- 2. Python字符長度的二進制值
- 3. 統計可重複長度爲n的二進制字符串的數量
- 4. 字符串爲二進制
- 5. 可能的長度爲N的字符串,長度爲3個字符
- 6. C++長十六進制字符串轉換爲二進制
- 7. 將二進制長字符串轉換爲十六進制c#
- 8. C++中的固定長度的二進制字符串
- 9. Python 3.4.3 .:二進制字符串樹中所有字符串長度的總和
- 10. 功能爲二進制字符串轉換爲十進制
- 11. 按字符串長度對字符串排序後的字符串進行二進制搜索
- 12. 創建一個長度可變的零的二進制字符串
- 13. 所有可能的長度爲n的二進制字符串,其中特定位置的位固定
- 14. 將二進制字符串轉換爲二進制文字
- 15. 爲什麼JavaScript的按位與二進制數增加二進制字符串的長度
- 16. 長度爲k
- 17. 長度爲k
- 18. 限制字符串長度
- 19. 字符串不能爲零長度
- 20. 對任意長度的二進制字符串進行基數排序
- 21. 將二進制字符串轉換爲二進制
- 22. Python將二進制字符串轉換爲二進制int
- 23. 字符串到二進制[]
- 24. Json_encode二進制字符串
- 25. 二進制字符串
- 26. 將字符串轉換爲二進制
- 27. 將字符串轉換爲二進制
- 28. 轉換字符串「s」爲二進制
- 29. 將二進制轉換爲字符串
- 30. 將字符串轉換爲二進制
這與Fibonacci有什麼關係,你能提供一些背後的直覺嗎? – 2012-08-14 08:11:48
@Chander Shivdasani:編輯了一個答案。如果你不介紹引用的解釋,我可以在這裏做 – dvvrd 2012-08-14 08:19:18
明白了,謝謝! – 2012-08-14 08:24:19