description
給定n個整數組成的序列,現在要求將序列分割為m段,每段子序列中的數在原序列中連續排列。如何分割才能使這m段子序列的和的最大值達到最小?
程式設計任務:給定n個整數組成的序列,程式設計計算該序列的最優m段分割,使m段子序列的和的最大值達到最小。
input
輸入的第一行有2個正整數n和m。正整數n是序列的長度;正整數m是分割的斷數。接下來的一行中有n個整數。
output
輸出一行即:m段子序列的和的最大值的最小值。
sample input
1 110
sample output
10hint
樣例二:
輸入:9 3
9 8 7 6 5 4 3 2 1
輸出:17
code
#include using namespace std;
#define n 200
int dp[n][n] ;//dp(i,j)表示前i個資料的j劃分
int main()
dp[0][0] = 0;
//dp[1][1] = a[0] ;
for(int i = 1; i < n ;++i)}}
cout<
codevs 3278 最小m 段和問題
時間限制 1 s 空間限制 256000 kb 題目等級 gold 題目描述 description 給定 n 個整數 不一定是正整數 組成的序列,現在要求將序列分割為 m 段,每段子序列中的數在原序列 中連續排列。如何分割才能使這 m 段子序列的和的最大值達到最小?輸入描述 input descr...
最小m子段和(動態規劃)
問題描述 給定n個整數組成的序列,現在要求將序列分割為m段,每段子序列中的數在原序列中連續排列。如何分割才能使這m段子序列的和的最大值達到最小?輸入格式 第一行給出n,m,表示有n個數分成m段,隨後一行給出n個數,以空格分隔 輸入樣例 9 39 8 7 6 5 4 3 2 1 輸出樣例 解釋 9 8...
最小m子段和問題 C語言 動態規劃
題目描述 給定n個整數組成的序列,現在要求將序列分割為m段,每段子序列中的數在原序列中連續排列。如何分割才能使這m段子序列的和的最大值達到最小?解題思路 用dp i j 儲存長度為i,分j段後其子序列和的最大值的最小值,那麼它由兩部分構成 當j 1時,dp i 1 表示的是長為i的整個序列的和 當j...