二分 複製書稿

2021-06-06 10:32:05 字數 1061 閱讀 8307

複製書稿

time limit:1000ms  memory limit:65536k

total submit:59 accepted:27

description

有m本書(編號為1,2,…,m),每本書都有乙個頁數(分別是p1,p2,…,pm)。想將每本都複製乙份。將這m本書分給k個抄寫員(1<=k<=m<=500),每本書只能分配給乙個抄寫員進行複製。每個抄寫員至少被分配到一本書,而且被分配到的書必須是連續順序的。複製工作是同時開始進行的,並且每個抄寫員複製一頁書的速度都是一樣的。所以,複製完所有書稿所需時間取決於分配得到最多工作的那個抄寫員的複製時間。試找乙個最優分配方案,使分配給每乙個抄寫員的頁數的最大值盡可能小。

input

第一行兩個整數m、k;(k<=m<=100) 

第二行m個整數,第i個整數表示第i本書的頁數。 

output

共k行,每行兩個正整數,第i行表示第i個人抄寫的書的起始編號和終止編號。k行的起始編號應該從小到大排列,如果有多解,則盡可能讓前面的人少抄寫。

sample input

9 3

1 2 3 4 5 6 7 8 9

sample output

1 5

6 78 9

標準的二分,能抄就盡量抄,後面的人一定能盡量少抄。

最後求出了答案之後,從最後往前貪心一次就行了。

#include long m,k;

long mid;

long page[1000];

long ans2[1000];

long ans = 0x7f7f7f7f;

void work()

} return true;

}int main()

else

}work();

return 0;

}

複製書稿 book (二分,貪心 dp)

時間限制 1 sec 記憶體限制 128 mb 提交 3 解決 1 提交 狀態 討論版 命題人 quanxing 現在要把m本有順序的書分給k個人複製 抄寫 每乙個人的抄寫速度都一樣,一本書不允許給兩個 或以上 的人抄寫,分給每乙個人的書,必須是連續的,比如不能把第 一 第三和第四本書給同乙個人抄寫...

dp專題 複製書稿

複製書稿 題目描述 現在要把m本有順序的書分給k個人複製 抄寫 每乙個人的抄寫速度都一樣,一本書不允許給兩個 或以上 的人抄寫,分給每乙個人的書,必須是連續的,比如不能把第 一 第三和第四本書給同乙個人抄寫。現在請你設計一種方案,使得複製時間最短。複製時間為抄寫頁數最多的人用去的時間。輸入第一行兩個...

DP 複製書稿 book

時間限制 1000 ms 記憶體限制 65536 kb 提交數 184 通過數 78 現在要把 m本有順序的書分給 k個人複製 抄寫 每乙個人的抄寫速度都一樣,一本書不允許給兩個 或以上 的人抄寫,分給每乙個人的書,必須是連續的,比如不能把第 一 第三和第四本書給同乙個人抄寫。現在請你設計一種方案,...