時間限制: 1 s
空間限制: 256000 kb
題目等級 : ** gold
題目描述 description
給定 n 個整數(不一定是正整數)組成的序列,現在要求將序列分割為 m 段,每段子序列中的數在原序列 中連續排列。如何分割才能使這 m 段子序列的和的最大值達到最小?
輸入描述 input description
檔案的第 1 行中有 2 個正整數 n 和 m。 正整數 n 是序列 的長度;正整數 m 是分割的斷數。 接下來的一行中有 n 個整數。
輸出描述 output description
檔案的第 1 行中的數是計算出 的 m 段子序列的和的最大值的最小值。
樣例輸入 sample input
1 1樣例輸出 sample output
資料範圍及提示 data size & hint
n<=1000,m<=n
二分做法 點選傳送
#include #include#include
#include
using
namespace
std;
int ans,l,r,n,m,i,a[1000+1
];int judge(int
now)
}return1;
}int
main()
while(l<=r)
else l=mid+1
; }
cout
<}
最小m段和問題
description 給定n個整數組成的序列,現在要求將序列分割為m段,每段子序列中的數在原序列中連續排列。如何分割才能使這m段子序列的和的最大值達到最小?程式設計任務 給定n個整數組成的序列,程式設計計算該序列的最優m段分割,使m段子序列的和的最大值達到最小。input 輸入的第一行有2個正整數...
最小m子段和(動態規劃)
問題描述 給定n個整數組成的序列,現在要求將序列分割為m段,每段子序列中的數在原序列中連續排列。如何分割才能使這m段子序列的和的最大值達到最小?輸入格式 第一行給出n,m,表示有n個數分成m段,隨後一行給出n個數,以空格分隔 輸入樣例 9 39 8 7 6 5 4 3 2 1 輸出樣例 解釋 9 8...
最小M段和 O nlogn 快速演算法
先宣告,這演算法我還沒弄出來 數列分割 解題報告 題目描述 給出乙個長為n的整數數列 n 15000 要求求出最小的m,使得存在一種將數列分成恰好k份的方案 每份是數列上連續的一段,且不得為空 每份的數字之和不大於m。演算法分析 此題又是典型的 要求最大值盡量小 的形式,對於這樣的問題,往往可以使用...