P1280 尼克的任務

2022-04-29 03:09:09 字數 920 閱讀 5690

動態規劃:設 f [ i ] 表示第 i 個任務開始時,可獲得的最大空閒時間。

轉移方程:

① 若此時無任務:f [ i ] = max( f [ i ] , f [ i-1 ]+1 )。

② 若此時有任務:f [ i+wj-1 ] = max( f [  i+wj-1 ] , f [ i-1 ] )。

注:有任務時,用 j 列舉開始的時間為 i 的任務,提前更新掉第 j 個任務結束的時間 i+wj-1 的 f [ i+wj-1 ]。

#include#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define max(a,b) ((a)>(b)?(a):(b))

#define min(a,b) ((a)<(b)?(a):(b))

#define maxn 10001

#define inf -0x3ftypedef

long

long

ll;ll n,k;

ll f[maxn];

struct

hht[maxn];

inline ll read()

while

(isdigit(ls))

return xs*kr;

}int

main()

}printf(

"%lld\n

",f[n]);

return0;

}

P1280 尼克的任務

題目描述 尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。尼克的乙個工作日為n分鐘,從第一分鐘開始到第n分鐘結束。當尼克到達單位後他就開始幹活。如果在同一時刻有多個任務需要完戍,尼克可以任選其中的乙個...

P1280 尼克的任務

題目描述 尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。尼克的乙個工作日為n分鐘,從第一分鐘開始到第n分鐘結束。當尼克到達單位後他就開始幹活。如果在同一時刻有多個任務需要完成,尼克可以任選其中的乙個...

P1280 尼克的任務

尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。尼克的乙個工作日為n分鐘,從第一分鐘開始到第n分鐘結束。當尼克到達單位後他就開始幹活。如果在同一時刻有多個任務需要完戍,尼克可以任選其中的乙個來做,而其...