日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

NYOJ 252 01串 dp

發(fā)布時間:2025/3/16 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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。

輸入
第一行有一個整數(shù)n(0<n<=100),表示有n組測試數(shù)據(jù);
隨后有n行,每行有一個整數(shù)m(2<=m<=40),表示01串的長度;
輸出
輸出不含有“11”子串的這種長度的01串共有多少個,占一行。
樣例輸入
2 2 3

樣例輸出

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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。