Luogu P1280尼克的任務(DP)

2022-05-01 01:51:09 字數 714 閱讀 2966

做順序dp做慣了,死活沒想到這是個倒序dp。

f[i]表示時刻i的最大空閒時。有以下兩種可能。

1.時刻i沒有任務。此時f[i]=f[i+1]+1;

2.時刻i有許多任務。此時f[i]=max(f[i+持續時間s)。

改進了一下題解。不用排序,直接鏈式前向星建圖!哈哈哈!

**

#include#include

#include

#include

using

namespace

std;

inline

long

long

read()

while

(isdigit(ch))

return num*f;

}struct

edgeedge[

1000000

];int head[10010

],num;

inline

void add(int

from,int

to);

head[

from]=num;

}int f[100000

];int

main()

for(int i=n;i;--i)

printf("%d

",f[1

]);

return0;

}

LuoGu P1280 尼克的任務 線性動規

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

P1280 尼克的任務

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

LG 1280 尼克的任務

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