(直接醜い顔をコピーしたタイトルを考えると、ここに置か直接リンクされています)
トピック:
おそらく思考:
(私は精神薄弱でした)
それぞれの状態遷移方程式で繰り返しクロスジャンプが右端を描画します、DPを書き、それに立ち往生。(Nmdwsm)
同じ。。。。今日の物理学がdp [i]は、[k]とDP [K] [j]を取得する方法について反芻、愚かなことがあります。。。。
読んだ後石は自分の感覚をマージします。。記載されているオリジナルの前の状態はああを考慮することが好きではありません。。。。。
状態は、現在のああで知られている量であるように思われる前に!!!!!!!
これはああああああああこの場所の砂の彫刻で立ち往生されることはありません!!!!!
実際には、囚人の以前のリリースよりも問題を解決するためのアイデアがたくさん書くことは簡単であるべき、それは石の合併は服だけを変更しています。。
取引の詳細に少しほとんど注目です。。。内部に保存されたとき、配列の添字をコピーしないでください。。(本当に - 脳は自宅ではありません)
コメントへの書き込みの詳細
コード:
書式#include <iostreamの> の#include <cstdioを> 使用して 名前空間はstdを、 INT [ 202 ]、DP [ 202 ] [ 202 ]。 int型のn; ボイドリード(INT&X) { チャー C = 0 。 X = 0 。 しばらく(!isdigit(c)参照) 、C = getchar関数(); 一方、(isdigit(c)参照) 、X = X * 10 + C- ' 0 '、C = GETCHAR()。 } int型マックス; int型のmain() { ;リード(N-) のための(int型私は= 1 ; I <= N-Iは++ ) { 読み取り([I]); [Iは = N- +] 、A [I] } ため(INT P = 2 ; P <= N + 1、P ++)// 少なくとも2つのビードを有していてマージすることができ 、{ ため(int型私は= 1 ; P-I + 1 <= 2 * N-; Iは++)// NOTE境界、尾部に第1のビードの最後のビーズ { intは = P-I +終了。1; について(INT K = I +は1 ; K <末端; K ++)// ないスクラッチカット DP [I] = [終了] MAX(DP [I]、[終了]、DP [I] [K] + DP [k]を[終了] + [I]は* [K] * [終了]); // 二つのセクションが一定に接続されている } } のための(INT I = 1 ; I <= N; I ++は) { マックス =最大(マックス、DP [I]は[Iは、N +]); // 複合砂利と } COUT <<マックス<< ENDL; 戻り 0 ; }
白白
CSP-S RP +++!