時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:2描述
acm的zyc在研究01串,他知道某一01串的長度,但他想知道不含有「11」子串的這種長度的01串共有多少個,他希望你能幫幫他。
注:01串的長度為2時,有3種:00,01,10。
輸入
第一行有乙個整數n(0
輸出輸出不含有「11」子串的這種長度的01串共有多少個,佔一行。
樣例輸入
223
樣例輸出
35
動態規劃題,先找規律,盡量構成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 經典題...