數列分段Section II(二分)

2022-03-01 12:18:17 字數 484 閱讀 6659

洛谷傳送門

輸入時處理出最小的答案和最大的答案,然後二分答案即可。

其餘細節看**

1 #include 2 #include 3

4using

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 }

view code

數列分段 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...