time limit:1000ms
memory limit:65536k現在要把m本有順序的書分給k個人複製(抄寫),每個人的抄寫速度都一樣,一本書不允許分給兩個或兩個以上的人抄寫,分給每個人的書,必須是連續的,比如不能把第
一、第三、第四本書給同乙個人抄寫。
現在請你設計一種方案,使得複製時間最短。複製時間為抄寫最多的人用去的時間。
第一行兩個整數,m,k(k<=m<=500)
第二行為m個整數,第i個數表示第i本書的頁數。
最短時間
9 31 2 3 4 5 6 7 8 9
設f[i][j]表示前i本書交由j個人抄寫需要的最短時間,則狀態轉移方程為:
f[i][j]=min(f[i][j],max(f[i-1][l],sum[j]-sum[l]));
1<=i<=n,1<=j<=k,1<=l#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
int n,k,a[
1010
],f[
1010][
1010
],sum[
1010];
void
input()
return;}
voiddp(
)}}return;}
intmain()
SSL 1203 書的複製 normal
現在要把m本有順序的書分給k個人複製 抄寫 每個人的抄寫速度都一樣,一本書不允許分給兩個或兩個以上的人抄寫,分給每個人的書,必須是連續的,比如不能把第 一 第三 第四本書給同乙個人抄寫。現在請你設計一種方案,使得複製時間最短。複製時間為抄寫最多的人用去的時間。第一行兩個整數,m,k k m 500 ...
書的複製 normal DP
time limit 1000ms memory limit 65536k total submit 164 accepted 83 description 現在要把m mm本有順序的書分給k kk個人複製 抄寫 每個人的抄寫速度都一樣,一本書不允許分給兩個或兩個以上的人抄寫,分給每個人的書,必須是...
書的複製 題解
現在要把m本有順序的書分給k個人複製 抄寫 每個人的抄寫速度都一樣,一本書不允許分給兩個或兩個以上的人抄寫,分給每個人的書,必須是連續的,比如不能把第 一 第三 第四本書給同乙個人抄寫。現在請你設計一種方案,使得複製時間最短。複製時間為抄寫最多的人用去的時間。第一行兩個整數,m,k k m 500 ...