bzoj1222 產品加工

2022-06-07 14:54:17 字數 431 閱讀 2520

用f[i][j]表示完成前i個任務,在a機器上加工j小時時b機器上最少要工作多小時,轉移就分為三種,即$f[i][j]=min(f[i-1][j-t1],f[i-1][j]+t2,f[i-t3]+t3)$,然後這個東西可以用類似於揹包的方式優化到1維(注意要從大到小列舉)

1 #include2

using

namespace

std;

3int n,a,b,c,s,ans,f[30005];4

intmain()16}

17 ans=f[0

];18

for(int i=1;i<=5*n;i++)ans=min(ans,max(i,f[i]));

19 printf("%d"

,ans);

20 }

view code

BZOJ1222 HNOI2001 產品加工

某加工廠有a b兩台機器,來加工的產品可以由其中任何一台機器完成,或者兩台機器共同完成。由於受到機器效能和產品特性的限制,不同的機器加工同一產品所需的時間會不同,若同時由兩台機器共同進行加工,所完成任務又會不同。某一天,加工廠接到n個產品加工的任務,每個任務的工作量不盡一樣。你的任務就是 已知每個任...

bzoj 1222 HNOI2001 產品加工

題意 有兩台機器,給出n個產品在1號機器 2號機器 兩台機器一起的加工時間,0表示不能以某種方式加工,問最快加工時間。題解 dp 很強。f i j 表示前i個產品,在2號機器上用了j的時間,1號機器用的時間。第一維滾一下。轉移看 include include include using names...

1222 HNOI2001 產品加工

某加工廠有a b兩台機器,來加工的產品可以由其中任何一台機器完成,或者兩台機器共同完成。由於受到機器效能和產品特性的限制,不同的機器加工同一產品所需的時間會不同,若同時由兩台機器共同進行加工,所完成任務又會不同。某一天,加工廠接到n個產品加工的任務,每個任務的工作量不盡一樣。你的任務就是 已知每個任...