SOJ#547 bzoj5046ポイントキャンディゲーム

分析

コード

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
#defineは長いlong int型
 のconst  int型 INF = 1E9 + 7 INT [F 160 ] [ 160 ]、S [ 160 ]、P [ 160 ]、V [ 160 ]。
署名されたメイン(){ 
    int型N、M、I、J、K、A、B。
    scanf関数(" %LLD%LLD%LLD "、&​​N、&A、&B);
    (i = 1 ; iが<= N; iは++)のscanf(" %のLLDの%のLLD "、&​​P [i]は、&V [I])。
    以下のための(I = N; I> 0; I - )、S [I] = sの[I + 1 ] + V [i]は、
    (i = 0 ; iが<= V [n]は、iは++)F [N] [I] = - INF。
    ため(I = V [N] + 1 F [n]は[I] =; iは++; iが= Sで[N]を<)INF。
    以下のための(iは= N- 1、I> 0 ; i-- のための(j = 0 ; J <=のS [i]は、J ++ ){
           場合(V [i]が> = J)F [i]は[J] = - infファイル。
             [I] [J] = F - (F [I + 1 ] [S [i]が-j + 1 ] - 1) - のP [I]。
            INT RES = MAX(1LL、[I + F 1 [J] + P [I] +] 1);
            もし(J <= sで[I + 1 ] && F [I] [J]> RES)[I] [J] = FをRES。
      } 
    INT アンスと、
    (i = 0 ; iが<=のS [ 1 ]; iは++ 場合(AB> = F [ 1 ] [i])と回答= I。
        他に 休憩; 
    COUT <<回答<< '  ' << S [ 1 ] -Ans << ENDL。
    リターン 0 ; 
}

おすすめ

転載: www.cnblogs.com/yzxverygood/p/11247999.html