洛谷傳送門
輸入時處理出最小的答案和最大的答案,然後二分答案即可。
其餘細節看**
1 #include 2 #include 3view code4using
namespace
std;56
int n, m, a[100001], x, y, ans = 100001;7
8bool pd(int
mid)919
}20if(tot > m) return0;
21return
1;//
如果是小於m的話也還可以再分 22}
2324
intmain()
2534
while(x <=y)
3540 printf("%d"
, x);
41return0;
42 }
數列分段 Section II 二分
link description 給定乙個長度為n nn的序列,要求從中割成m mm段子區間,使m mm段子區間的區間和的最大值最小,輸出這個最大值 input 第 1 行包含兩個正整數 n,m。第 2 行包含 n 個空格隔開的非負整數 ai,含義如題目所述。output 乙個正整數,即每段和最大值...
P1182 數列分段 Section II(二分)
題目 對於給定的乙個長度為n的正整數數列 a1 na a1 n 現要將其分成 m m n 段,並要求每段連續,求每段和的最大值最小。solve 顯然的最大值最小化問題,用二分。列舉答案,列舉的範圍 只要從陣列中最大的那個數列舉到所有數的和就行了。include using namespace std...
數列分段 Section II
對於給定的乙個長度為n的正整數數列 a i 現要將其分成 m m n 段,並要求每段連續,且每段和的最大值最小。關於最大值最小 例如一數列 4 2 4 5 1 要分成 3 段 將其如下分段 42 45 1 第一段和為 6 第 2 段和為 9 第 3 段和為 1 和最大值為 9 將其如下分段 4 24...