洛谷 P1280 尼克的任務

2022-05-10 06:04:13 字數 516 閱讀 7958

題目問的是最大空暇時間,那麼就定義dp[i]為第i分鐘的最大空暇時間,顯然滿足最優子結構,我們發現dp[i]僅與其後的值有關,那麼從後往前推,如果第i分鐘沒有任務,dp[i]=dp[i+1],如果有任務,就遍歷所有任務 dp[i]=max

#include #include #include #include #include #include using namespace std;

int read()

while(c>='0'&&c<='9')

return rv*fh;

}vector t[10005];

int n,k,dp[10005];

int main()

/*for(int i=1;i<=n;i++)*/

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

}else dp[i]=dp[i+1]+1;

} cout

return 0;

}

洛谷P1280 尼克的任務

一道比較另類的dp,一開始沒想出來,覺得應該不用dp搞就能出來,然後看了題解發現原來這麼簡單。dp i 表示從i開始的最大空閒時間,逆序推dp,分情況 1 如果改時間沒有工作需要開始,那麼當然是要休息的,表示現在休息一分鐘,dp i dp i 1 1 2 如果有需要開始的,那麼在所有需要開始的工作中...

洛谷 P1280 尼克的任務

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

洛谷P1280 尼克的任務

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