P1281 書的複製 DP

2021-08-02 07:53:18 字數 823 閱讀 3133

原題鏈結

和之前的統計單詞個數十分類似

將前面的分為兩部分

一部分是前面的人抄的

剩下的是自己抄的

取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...