NYOJ 252 01串 dp
生活随笔
收集整理的這篇文章主要介紹了
NYOJ 252 01串 dp
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
01串
時間限制:1000?ms ?|? 內(nèi)存限制:65535?KB 難度:2 描述ACM的zyc在研究01串,他知道某一01串的長度,但他想知道不含有“11”子串的這種長度的01串共有多少個,他希望你能幫幫他。
注:01串的長度為2時,有3種:00,01,10。
輸入隨后有n行,每行有一個整數(shù)m(2<=m<=40),表示01串的長度;
樣例輸出
3 5 ? ? ? 這是一個符合斐波納契數(shù)列的dp問題,動態(tài)轉(zhuǎn)移方程:dp[i]=dp[i-1]+dp[i-2];? ? ? 解釋:長度為i的01串組成:長度為i-1的串末尾的0的個數(shù)*2+長度為i-1的串末尾的1的個數(shù)*1,而長度為i-1的末尾的0的個數(shù)等于長度為i-2的串的個數(shù),等量替換以后就是上面的轉(zhuǎn)移方程。
#include<stdio.h> int main() {int n,m,i,dp[42];dp[2]=3,dp[3]=5;for(i=4;i<=40;i++)dp[i]=dp[i-1]+dp[i-2];scanf("%d",&n);while(n--){scanf("%d",&m);printf("%d\n",dp[m]);}return 0; }總結(jié)
以上是生活随笔為你收集整理的NYOJ 252 01串 dp的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot中如何灵活的实现接口
- 下一篇: 准备了2个月零21天,面试字节跳动挂在了