HNOI2001 產品加工

2022-08-18 23:12:21 字數 856 閱讀 6268

[hnoi2001]產品加工

有機器甲乙二者,加工產品者也.今有\(n\)個產品,加工於甲需耗時間\(t_\),加工於乙需耗時間\(t_\),二者同時為其加工需耗時間\(t_\).(若\(t_\)為\(0\),則表示無法用此方式加工)機器者,專一者也,一時只加工一產品也.試問加工完畢最小時間有幾何.

挺神奇的一道題.一開始考慮開三個陣列\(f[3]\)表示利用三種方式加工所需最小時間,但不會轉移.題解提供了一種非常神奇的狀態表示方式.\(f[i]\)表示甲加工時間為\(i\)時乙加工的最小時長,初始化為\(inf\).於是我們便可以進行轉移:

$$ f[j]=b?f[j]+b:inf$$

$$if(a) \   f[j]=min(f[j-a],f[j])$$

$$if(c)

f[j]=min(f[j],f[j-c]]+c)$$

參考馬前卒前輩的**初始化方式,只有90分,個人感覺是在初始化時間限制最大值的時候出錯了吧.

#include#include#include#include#include#include#define r register

#define next mablcdg

#define debug puts("mlg")

using namespace std;

const ll inf=((ull)1<<63-1);

ll n;

ll f[320000],mxt;

ll ans;

int main()

} for(r ll i=0;i<=mxt;i++) ans=min(ans,max(f[i],i));

writeln(ans);

}

HNOI2001 產品加工

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

1222 HNOI2001 產品加工

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

BZOJ1222 HNOI2001 產品加工

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