P5785 SDOI2012 任務安排 題解

2022-05-16 15:59:45 字數 652 閱讀 5164

p5785 [sdoi2012]任務安排

這道題是任務安排的強化版

弱化版:p2365 任務安排 題解

還採取弱化版的思路,斜率優化

和弱化版不同,這道題的\(k\)滿足單調性但不滿足嚴格單調性,\(k0=(s+sf[i])\)不滿足單調性

於是用二分法找到最優解就好了

#includeusing namespace std;

typedef long long ll;

const int maxn=3e5+5,inf=1<<30;

ll n,s,hed=1,til=0,q[maxn],st[maxn],sf[maxn],f[maxn];

inline int read()

while(ch<='9'&&ch>='0')ret=ret*10+ch-'0',ch=getchar();

return ret*f;

}inline ll x(ll j)

inline ll y(ll j)

inline long double calc(ll i,ll j)

inline ll find(ll k0)

printf("%lld\n",f[n]);

return 0;

}

SDOI2012 任務安排

這題首先要轉化一下這裡對於 s 的統計 我們先把 s 做字尾貢獻 然後就有了這個式子 f i min f j s1 i s1 j times s2 i s times s1 n s1 j 其中 s1 i sum c j s2 i sum t j 然後我們推式子 最後是個 x且 frac 右側是個單調...

SDOI2012 任務安排

機器上有n個需要處理的任務,它們構成了乙個序列。這些任務被標號為1到n,因此序列的排列為1,2,3.n。這n個任務被分成若干批,每批包含相鄰的若干任務。從時刻0開始,這些任務被分批加工,第i個任務單獨完成所需的時間是ti。在每批任務開始前,機器需要啟動時間s,而完成這批任務所需的時間是各個任務需要時...

bzoj 2726 SDOI2012 任務安排

機器上有n個需要處理的任務,它們構成了乙個序列。這些任務被標號為1到n,因此序列的排列為1,2,3 n。這n個任務被分成若干批,每批包含相鄰的若干任務。從時刻0開始,這些任務被分批加工,第i個任務單獨完成所需的時間是ti 在每批任務開始前,機器需要啟動時間s,而完成這批任務所需的時間是各個任務需要時...