舗装動的計画DP

ここに画像を挿入説明
ここに画像を挿入説明

問題解決のアイデア:まず、我々は、I [i]はDPを定義する列をタイル張り、いくつかの方法で、我々勃起した場合の3つの方法の合計は、3 * 2、ときよりアウト1のを考えると、我々は、2 * 2を検討我々は2つの3件のの舗装された場合である* 2 2、または3の方法と時間に直接プット数、DP [I-1]、多数の方法は、我々は2つだけと横を置くことができます実際のメソッドの数と重複の前のこの時間は、これだけ[I-2] 2 * DPを追加するので、最後に大きなもの、なぜ、最後に2を入れていません。

そのようにして得られた:DP [I] =(DP [I-1] + 2 * DP [I-2])%100007。

#include<stdio.h>
int dp[255];
int main(){
    int n;
    scanf("%d",&n);
    dp[0]=1;
    dp[1]=1;
    for(int i=2;i<=n;i++){
        dp[i]=(dp[i-1]+2*dp[i-2])%100007;//及时取模
    }
    printf("%d\n",dp[n]);
    return 0;
}

手鑑賞にBO賞賛のポイントについてのヘルプも非常に素晴らしいがありますされます
ここに画像を挿入説明

公開された13元の記事 ウォン称賛13 ビュー328

おすすめ

転載: blog.csdn.net/qq_43320728/article/details/104508832