原題鏈結
和之前的統計單詞個數十分類似
將前面的分為兩部分
一部分是前面的人抄的
剩下的是自己抄的
取max
和原時間取min
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define max 1000000007
#define ll long long
using
namespace
std;
int m,k,bok[505],i,d[505],j,g,f[505][505],t,b,human[505],s[505],e[505];
int main()
for(i=1;i<=k;i++)
for(j=1;j<=m;j++)
for(g=1;g1][g],d[j]-d[g]));
t=f[k][m];
b=m;
for(i=k;i>=1;i--)
for(j=b;j>=1;j--)
else
}if(!e[1]) e[1]=1;
for(i=1;i<=k;i++)
printf("%d %d\n",e[i],s[i]);
return
0;}
P1281 書的複製 dp
紀念一下,這是我自己第乙個自己想出轉移方程的dp題!先定義一下陣列,f i j 表示第i個人,抄了j本書花的最短時間。w i j 表示 i,j 閉區間內,從第i本書抄到第j本書用的時間 轉移方程 f h i min f h i max f h 1 j w j 1 i 1 i m,1 j i 1 求出...
P1281 書的複製
先說下題意吧,題面給的題意我都看不懂 有 n 本書,每本書有乙個頁數 a i 每個人能寫連續的幾本書,他們寫書的速度可以認為是1頁1天。求讓 k 個人抄完這 n 本書的最短時間。ps k 個人抄書的時間是其中抄的最慢的人用的時間。dp的狀態非常容易想 dp i j 表示前 i 本書,用 j 個人抄的...
dp 洛谷P1281 書的複製
本來以為水題,後來炸了 dp方程這個直接想總不難把 毫無優化的暴力轉移 但是最後輸出方案的時候,不可以按照dp的方案輸出的 因為dp它的方案是讓子節點數值最優 這樣的方案是是不可以保證總的方案最優的 所以要最後貪心輸出答案 就是後面的人經可能的取 include define ll long lon...