題意:給出尼克工作時間長度,給出k個任務
給出每個任務開始的時間,給出每個任務持續的時間,同一時間只能接乙個任務(任意選擇),在此時間內的其他任務由其他人做即可
求如何選擇任務能讓偷懶時間最長
思路:倒著推; 定義dp【i】,表示從i時刻到結束所能偷懶的最大時間
於是,從n~1進行列舉
假如遇到這個時間沒有任務的,就+1;
假如遇到有任務的,就列舉擇優;
最後dp就是答案
1 #include2view codeusing
namespace
std;
3const
int maxn=1e4+10;4
intn,k,s,t;
5int
dp[maxn];
6 vectorv[maxn];
7int
main()
13for(int i=n;i>=1;--i)
19 printf("
%d",dp[1
]);20 }
P1280 尼克的任務
題目描述 尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。尼克的乙個工作日為n分鐘,從第一分鐘開始到第n分鐘結束。當尼克到達單位後他就開始幹活。如果在同一時刻有多個任務需要完戍,尼克可以任選其中的乙個...
P1280 尼克的任務
題目描述 尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。尼克的乙個工作日為n分鐘,從第一分鐘開始到第n分鐘結束。當尼克到達單位後他就開始幹活。如果在同一時刻有多個任務需要完成,尼克可以任選其中的乙個...
P1280 尼克的任務
尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。尼克的乙個工作日為n分鐘,從第一分鐘開始到第n分鐘結束。當尼克到達單位後他就開始幹活。如果在同一時刻有多個任務需要完戍,尼克可以任選其中的乙個來做,而其...