タイトル説明
長江長江ヨットクラブを上に設けられている N- n型ヨットレンタルステーション N- 1,2、\ cdots、1 、2 、⋯ 、N-。来場者は、これらのヨットのレンタルステーションでヨットをレンタルして下流のいずれかのボートのレンタルステーションでヨットを返すことができます。ヨットレンタルステーション I ヨットレンタルステーションにI jはjの間の家賃である R&LT(i、j)はR&LT (I 、J )(1 \ルI \ j個のLT \ N-LE 。1 ≤ I < J ≤ N-)。ヨットレンタル局から計算するアルゴリズムを設計しようとする 。1つの1隻のヨットレンタルステーション N- N-借りる必要最小限。
入力形式
最初の行は、正の整数である N- N-、発現 N- n型ヨットレンタルステーション。次 N- -1-。N - - 1は、半列行列である R&LT(I、J)R&LT (I 、J )(1 \ルI <J \ N-LE。1。≤ I < J ≤ N-)。
出力フォーマット
ヨットレンタルステーションの出力から算出 。1隻の1ヨットレンタルステーション N 最小家賃はN望ましいです。
サンプル入力と出力
入力#1
3 5 15 7
出力#1
12
ダイナミックプログラミング
#include <ビット/ STDC ++ H> 使用して 名前空間STDを、int型 [ 201 ] [ 201 ]、B [ 201 ]、N。 INT ()主 { int型、K、U、T、I、J memset(B、9999999、はsizeof (b)参照)。 cinを >> N; 以下のための(iは= 1、I ++; I <N ) { ため(J = I + 1 ; J <= N J ++ ) { CIN >> [I] [J]。 } } 、B [ 2 ] = [ 1 ] [2 ]。 B [ 1 ] = 0 ; 用(K = 3 ; K <= Nのk ++ ) { 用(U = 1 ; U <= N- 1、U ++ ) { T = B [U] + [U] [K]。 もし(T < B [K]) B [K] = T。 } } COUT << B [n]は、 }