1222 HNOI2001 產品加工

2021-08-05 19:56:12 字數 888 閱讀 3543

某加工廠有a、b兩台機器,來加工的產品可以由其中任何一台機器完成,或者兩台機器共同完成。由於受到機器效能和產品特性的限制,不同的機器加工同一產品所需的時間會不同,若同時由兩台機器共同進行加工,所完成任務又會不同。某一天,加工廠接到n個產品加工的任務,每個任務的工作量不盡一樣。你的任務就是:已知每個任務在a機器上加工所需的時間t1, b機器上加工所需的時間t2及由兩台機器共同加工所需的時間t3,請你合理安排任務的排程順序,使完成所有n個任務的總時間最少。

輸入共n+1行第1行為 n。 n是任務總數(1≤n≤6000)第i+1行為3個[0,5]之間的非負整數t1,t2,t3,分別表示第i個任務在a機器上加工、b機器上加工、兩台機器共同加工所需要的時間。如果所給的時間t1或t2為0表示任務不能在該台機器上加工,如果t3為0表示任務不能同時由兩台機器加工。

最少完成時間

5 2 1 0

0 5 0

2 4 1

0 0 3

2 1 19

一道神奇的dp,真心沒想到。

f[i]表示a機器花費i,b機器花費f[i]。

#include#include#include#include#includeusing namespace std;

const int n=6010;

int mx=30001;

int n,m=0;

int a[n],b[n],c[n],f[30001];

int main()

for(int i=1;i<=n;i++) }

int ans=mx;

for(int i=0;i<=m;i++)

ans=min(ans,max(i,f[i]));

printf("%d\n",ans);

}

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

HNOI2001 產品加工

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