大多數人的錯誤原因:盡可能讓前面的人少抄寫,如果前幾個人可以不寫則不寫,對應的人輸出0 0。
不過,已經修改資料,保證每個人都有活可幹。
// 現在要把m本有順序的書分給k給人複製(抄寫),每乙個人的抄寫速度都一樣,一本書不允許給兩個(或以上)的人抄寫,分給每乙個人的書,必須是連續的,比如不能把第
一、第三、第四本書給同乙個人抄寫。
現在請你設計一種方案,使得複製時間最短。複製時間為抄寫頁數最多的人用去的時間。
第一行兩個整數m,k;(k≤m≤500)
第二行m個整數,第i個整數表示第i本書的頁數。
共k行,每行兩個整數,第i行表示第i個人抄寫的書的起始編號和終止編號。k行的起始編號應該從小到大排列,如果有多解,則盡可能讓前面的人少抄寫。
9 3
1 2 3 4 5 6 7 8 9
1 5
6 7
8 9二分答案,從後往前讓當前被處理的人盡量多抄
在0 0上卡了一次 沒有用特判而是頑強的改邊界搞過去了
#include
#include
using
namespace
std;
int a[507];
int m,k;
int ans[507][2];
int toa=0;
void print(int x)
void erfen(int l,int r)
int mid=(l+r)>>1;
int no=0,ans=0;
for(int i=m;i;--i)
else
}if(no)ans++;
if(ans>k)erfen(mid+1,r);
else erfen(l,mid);
return;
}int main()
erfen(0,fff);
return
0;}
洛谷1281 書的複製
洛谷1281 書的複製 題目描述 現在要把m本有順序的書分給k給人複製 抄寫 每乙個人的抄寫速度都一樣,一本書不允許給兩個 或以上 的人抄寫,分給每乙個人的書,必須是連續的,比如不能把第 一 第三 第四本書給同乙個人抄寫。現在請你設計一種方案,使得複製時間最短。複製時間為抄寫頁數最多的人用去的時間。...
洛谷 1281 書的複製
題解 二分答案,貪心check.然後根據二分出來的答案去計算每個人抄寫的部分,注意要讓前面的人少抄寫,所以從後往前貪心即可。1 include2 include3 include4 define ll long long 5 define rg register 6 define n 200010 ...
P1281 書的複製
先說下題意吧,題面給的題意我都看不懂 有 n 本書,每本書有乙個頁數 a i 每個人能寫連續的幾本書,他們寫書的速度可以認為是1頁1天。求讓 k 個人抄完這 n 本書的最短時間。ps k 個人抄書的時間是其中抄的最慢的人用的時間。dp的狀態非常容易想 dp i j 表示前 i 本書,用 j 個人抄的...