(DIV 2定格)E.アレイShrinking.Educational Codeforcesラウンド83

教育分野DP問題の範囲;

表題最短間隔長隣り合う二つが組み合わされてもよい場合、同じ条件下ことと++。

間隔の長さは、各トラバース配列の長さで、次に列挙することができ、。

その最終値の部分範囲および値に等しい各間隔について。それはトラバース中に各サブインターバルの長さを横断する必要があります。

あなたは二つのサブインターバルの長さとの間に一連の操作の後に経験し、1に等しい場合、それらを組み合わせることができます。

コード

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
長い 長い [ 505 ] [ 505 ]。
長い 長い DP [ 505 ] [ 505 ]。
int型のmain()
{ 
    int型、nは 
    cinを >> N;
    以下のためにINT iが= 1 ; I <= N; I ++ 
    { 
        ためINT J = I; J <= nであり、j ++ 
        { 
            DP [I] [J] = J-I + 1 
        } 
    } 
    のためにINT iは= 1 ; iが<= N; I ++ 
    { 
        CIN >> [I] [I]。
    } 
    のためのINT I = LEN; I <= N; I ++ 
    { 
        ためINT J = 1 ; J <= N-lenを+ 1、J ++ 
        { 
            int型、R = J + len- 1 int型 ; K <R K ++、K = J 
            { 
                DP [J] [R] =分(DP [J] [R]、DP [J] [K] + DP [K + 1 ] [R])。
                もし(DP [J] [K] == 1つの && DP [K +1 ] [R] == 1 && [J] [K] == [K + 1 ] [R])
                { 
                    [J] [R]は [j]を= [] + K 1 
                    DP [J] [R] = 1 
                } 
            } 
        } 
    } 
    COUT << DP [ 1 ] [N] << ENDL。
    
    
}

 

おすすめ

転載: www.cnblogs.com/LH2000/p/12462812.html