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