description
尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。
尼克的乙個工作日為 n 分鐘,從第一分鐘開始到第 n 分鐘結束。當尼克到達單位後他就開始幹活。如果在同一時刻有多個任務需要完戍,尼克可以任選其中的乙個來做,而其餘的則由他的同事完成,反之如果只有乙個任務,則該任務必需由尼克去完成,假如某些任務開始時刻尼克正在工作,則這些任務也由尼克的同事完成。如果某任務於第 p 分鐘開始,持續時間為 t 分鐘,則該任務將在第 p+t-1 分鐘結束。
寫乙個程式計算尼克應該如何選取任務,才能獲得最大的空暇時間。
input
第一行含兩個用空格隔開的整數 n 和 k,n 表示尼克的工作時間,單位為分鐘,k 表示任務總數。 接下來共有 k 行,每一行有兩個用空格隔開的整數 p 和 t,表示該任務從第 p 分鐘開始,持續時間為 t 分鐘,其中1≤p≤n,1≤p+t-1≤n。
output
僅一行,包含乙個整數,表示尼克可能獲得的最大空暇時間。
#include#include#includeusing namespace std;
const int maxn=10005;
const int maxk=10005;
const int inf=200000000;
int n,k,f[maxk];
struct dataa[maxn];
bool cmp(data a,data b)
int main()
} else
f[i]=f[i+1]+1; }
printf("%d",f[1]);
return 0;
}
動規之 尼克的任務
題目描述 尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。尼克的乙個工作日為 n 分鐘,從第 1 分鐘開始到第 n 分鐘結束。當尼克到達單位後他就開始幹活,公司一共有 k 個任務需要完成。如果在同一時...
LuoGu P1280 尼克的任務 線性動規
尼克每天上班之前都連線上英特網,接收他的上司發來的郵件,這些郵件包含了尼克主管的部門當天要完成的全部任務,每個任務由乙個開始時刻與乙個持續時間構成。尼克的乙個工作日為n分鐘,從第一分鐘開始到第n分鐘結束。當尼克到達單位後他就開始幹活。如果在同一時刻有多個任務需要完成,尼克可以任選其中的乙個來做,而其...
序列型動規
d i 中的i表示前i的元素的某種性質。有一排n棟房子,每棟房子要漆成k種顏色中的一種 任何兩棟相鄰的房子不能漆成同樣的顏色 房子i染成第j種顏色的花費是cost i j 問最少需要花多少錢油漆這些房子 輸入 n 3,k 3 cost 14,2,11 11,14,5 14,3,10 輸出 10 房子...