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