牛客网之黑暗的字符串
生活随笔
收集整理的這篇文章主要介紹了
牛客网之黑暗的字符串
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目鏈接:黑暗的字符串
- 分析:不管前面是什么序列,你在第n位至少有兩種填法,第n-1,n-2的字母,當(dāng)?shù)趎-1,n-2字母相同時,前面就漏掉了一種填法,即加上一個f(n-2)即可
- 確定dp數(shù)組以及下標(biāo)的含義:dp[i]表示字符串的長度為i的時候的黑暗的字符串的數(shù)目。
- 狀態(tài)轉(zhuǎn)移方程:dp[i]=dp[i-1]+2*dp[i-2];
- 初始化:vector<long long> dp(n+1,0); dp[1]=3;dp[2]=9; 所有的狀態(tài)如果都不符合題目的要求的話,其結(jié)果是為0的。
- 確定遍歷順序:dp[i]是由dp[i-1]和dp[i-2]推導(dǎo)而來,因此,遍歷i的時候應(yīng)該從左往右遍歷。
- 優(yōu)化:這道題其實就是斐波那契數(shù)列的變形,因此我們可以采用矩陣快速冪進(jìn)行優(yōu)化程序,使得其時間復(fù)雜度降為O(logN)。
總結(jié)
以上是生活随笔為你收集整理的牛客网之黑暗的字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS总结-Runtime篇之黑魔法Me
- 下一篇: 生活-女生的正确生活方式