某加工廠有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個產品加工的任務,每個任務的工作量不盡一樣。你的任務就是 ...