問題への羅部族ゴブリンバレーP2467ソリューション

フェイス質問

一生懸命一生懸命一生懸命ああああああ〜(うわ後にするとき、彼は絶対死んだ子)

自分の考えをまとめ完了。

まず、以下の3つのプロパティをプッシュします:

1. IとI + 1の両方が、我々はこれら2つの数の交換は(これは私たちの状態遷移に基づいて)新しいシリーズで構成することができます直接、隣接していない場合

2.各数値は、愛する-aiは列の別の番号、逆の山と谷とケースの新シリーズであろう(N + 1)となります

3.ボラティリティシリーズは、対称性を持っています。例:14253は35214となり

 

セットF [i] [j]は1〜I 1から番号を表す状態jは、種の数です。

J [i]は[J] = F [I] [J-1] F、J-1に隣接していない自然1、に依存

F時に隣接するjおよびJ-1は、[i] [j]は最初のためにI-1の数、J-1を計算することであるが、プログラム、J-1の数は、谷である場合

2、(施設I-1数、谷第J-1、J-1のそれにプログラムの数)(番号を見つけることと等価である(I-1、(( I-1)+1) - ( J-1))まず、J-1のためのプログラムのピークの数です)。

那么[I-1] [IJ-1] [i] [j]がFを= F。

 

综上所述,f[i][j]=f[i][j-1]+f[]i-1][i-j-1];

水のデータ比較のために、十分なメモリが設けられ、二次元アレイは、ACオフでき起因。

 

 

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
INT F [ 4201 ] [ 4201 ]。
INT のmain()
{ 
    int型N、P。
    CIN >> N >> P; 
    F [ 1 ] [ 0 ] = 1 int型 iは= 1 ; iが<= N iが++ ){
         ためINT J = 1 ; J <= nであり、j ++ ){
             場合(ij- 1 > = 0 [I] [J] = F [I F) ] [J- 1 ] + F [I- 1] [ij- 1 ]。
            F [I] [J]%= P。
        }     
    } 
    長い のANS = 0 以下のためにint型 iは= 1 ANS =(ANS + F [N] [i])と%iは++; iがn = <)P。
    COUT <<(ANS * 2)%のP。
}

 

おすすめ

転載: www.cnblogs.com/kamimxr/p/11442909.html