NYOJ題目252 01串(動態規劃)

2021-08-07 09:16:21 字數 892 閱讀 1762

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:2描述

acm的zyc在研究01串,他知道某一01串的長度,但他想知道不含有「11」子串的這種長度的01串共有多少個,他希望你能幫幫他。

注:01串的長度為2時,有3種:00,01,10。

輸入

第一行有乙個整數n(0

輸出輸出不含有「11」子串的這種長度的01串共有多少個,佔一行。

樣例輸入

2

23

樣例輸出

3

5

動態規劃題,先找規律,盡量構成dp[i]和dp[i+n]的關係,然後就好解決了。

第一種方法:比較容易找規律就可以得到遞推式

n==2的時候   00 01  10三種

n==3的時候   000  001  010  100  101  五種

n==4的時候   n==3的時候的情況末尾都加0 五種    +      n==2的時候情況末尾加0再加1  三種      =   八種

n==3的時候末尾不管是什麼都可加0得到n==4的情況,而n==3的時候,末尾是0的還可以通過加1獲得n==4的情況,而n==3時末尾是0的情況都是n==2的時候的所有情況通過末尾加0獲得的,所以ans[i] = ans[i-1]+ans[i-2]

#include #include using namespace std;

int fun(int m)

return ans[m]; }

int main()

printf("%d\n", dp[m][0]+dp[m][1]);

}return 0;

}

NYOJ 252 01串 (動態規劃)

acm的zyc在研究01串,他知道某一01串的長度,但他想知道不含有 11 子串的這種長度的01串共有多少個,他希望你能幫幫他。注 01串的長度為2時,有3種 00,01,10。第一行有乙個整數n 0dp i 0 代表字串長度為i,末尾為0的符合條件的字串數,dp i 1 代表字串長度為i,末尾為1...

NYOJ 252 01串 (動態規劃)

acm的zyc在研究01串,他知道某一01串的長度,但他想知道不含有 11 子串的這種長度的01串共有多少個,他希望你能幫幫他。注 01串的長度為2時,有3種 00,01,10。第一行有乙個整數n 0dp i 0 代表字串長度為i,末尾為0的符合條件的字串數,dp i 1 代表字串長度為i,末尾為1...

NYOJ 題目17 單調遞增最長子序列(動態規劃)

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 求乙個字串的最長遞增子串行的長度 如 dabdbf最長遞增子串行就是abdf,長度為4 輸入第一行乙個整數0 輸出輸出字串的最長遞增子串行的長度 樣例輸入 3 aaaababc abklmncdefg 樣例輸出 1 37 經典題...