與書的複製差不多
洛谷 書的複製
但是只要輸出最大的時間
樣例輸入
9 3
100 200 300 400 500 600 700 800 900
樣例輸出1700
樣例解釋1:1500=100+200+300+400+500
2:1300=600+700
3:1700=800+900
1300<1500<1700
最大的是1700
用二分找答案
#include
#include
using
namespace std;
const
int maxx=
1e9;
int wh[
20025
],a[
20025];
int n,m,l,r,t,tot,ans;
bool
book
(int k)
//尋找最小的答案
} tot++;if
(tot>m)
return0;
//證明答案比ans大
else ans=
min(ans,k)
;//求最大
return1;
}int
main()
ans=maxx;
while
(l<=r)
//二分
printf
("%d"
,ans)
;fclose
(stdin);
fclose
(stdout);
return0;
}
二分 抄書 (jzoj 2123)
有n本書,分給m個人抄,每個人只能拿到連續的書 不能把一本書分開 問抄書最多的人要抄多少頁9 3 100 200 300 400 500 600 700 800 9001700對於10 的資料,有n 10 對於50 的資料,有n 500 對於100 的資料,有n 3000 這道題很可能想到dp但會炸...
二分 CodeVS3162 抄書問題
description 題目描述 現在要把m mm本有順序的書分給k kk個人複製 抄寫 每乙個人的抄寫速度都一樣,一本書不允許給兩個 或以上 的人抄寫,分給每乙個人的書,必須是連續的,比如不能把第 一 第三 第四本書給同乙個人抄寫。現在請你設計一種方案,使得複製時間最短。複製時間為抄寫頁數最多的人...
UVa 714 抄書(貪心 二分)
題意 把乙個包含m個正整數的序列劃分成k個非空的連續子串行,使得每個正整數恰好屬於乙個序列。設第i個序列的各數之和為s i 你的任務是讓所有s i 的最大值盡量小。思路 最大值盡量小 問題。區間的範圍肯定是所有數中最大的乙個至所有數之和,我們可以使用二分法來確定這樣的乙個值x,x盡量小並且每個區間都...