Tyvj1098 任務安排

2021-07-14 10:07:51 字數 656 閱讀 3169

恕我懶

分析:本蒟蒻只想到了辣雞做法:f(i, j)表示前j個任務分了i組,最少費用,f(i, j) = min

發現這是o(n^3)的,水不過去...

於是腦洞大開想寫乙個二維的斜率優化...

不知道為什麼一直wa了乙個點...

於是去尋找正解,發現只需要開1維陣列就夠了,驚呆我了...

用f(i)表示從第i個任務開始做的最小費用。

然後就好轉移了:f(i) = min

順便這題買1送1,poj1180

#include #include #include using namespace std;

const int n = 10005;

int n,s,x,y,st[n],sf[n],f[n];

int main()

這題不由得讓我想到了7.2的考試題t1,大概是要把n個數分成盡量多的連續的組,使每個組的所有元素和單調增。

這題考試時我也只想出了二維的做法,tle,正解是一維的。

然後是這題的核心**,大概是用了一種貪心的思想來優化。

for(i=1;i<=n;i++) {

scanf("%d",&x);

b[i]=b[i-1]+x;

for(j=i-1;j&&b[i]-b[j]

TYVJ 1098 任務安排

n個任務排成乙個序列在一台機器上等待完成 順序不得改變 這n個任務被分成若干批,每批包含相鄰的若干任務。從時刻0開始,這些任務被分批加工,第i個任務單獨完成所需的時間是ti。在每批任務開始前,機器需要啟動時間s,而完成這批任務所需的時間是各個任務需要時間的總和 同一批任務將在同一時刻完成 每個任務的...

Tyvj1098任務安排

這篇講解部分已經整合進入 留在這裡。n個任務排成乙個序列在一台機器上等待完成 順序不得改變 這n個任務被分成若干批,每批包含相鄰的若干任務。從時刻0開始,這些任務被分批加工,第i個任務單獨完成所需的時間是ti。在每批任務開始前,機器需要啟動時間s,而完成這批任務所需的時間是各個任務需要時間的總和 同...

Tyoj1098 任務安排

n個任務排成乙個序列在一台機器上等待完成 順序不得改變 這n個任務被分成若干批,每批包含相鄰的若干任務。從時刻0開始,這些任務被分批加工,第i個任務單獨完成所需的時間是ti。在每批任務開始前,機器需要啟動時間s,而完成這批任務所需的時間是各個任務需要時間的總和 同一批任務將在同一時刻完成 每個任務的...