Leetcode 1335 工作計畫的最低難度

2022-08-20 12:33:11 字數 654 閱讀 6391

題目描述:

題解:二維動態規劃,狀態為天數以及依次完成的任務數。注意題目給出的限制,任務需要依次執行,這為構造狀態轉移方程提供了先決條件。

定義dp[i][j]表示i天完成前j個任務的最小難度。狀態轉移的時候,遍歷第i個可能完成的所有工作並取最小值就可以了,記dis[i][j]為第i個job至第j個job中難度最大的job。

那麼轉移方程為dp[i][j] = dp[i-1][k]+dis[k+1][j],k = i-2~j;

ac**:

int mindifficulty(vector& jobdifficulty, int

d) dis[i][i+l-1] =mx;}}

//d length

int dp[11][310

];

for(int i=0;i<=10;i++)

for(int i=0;i1][i] = dis[0

][i];

for(int i=2;i<=d;i++)}}

return dp[d][len-1

]; }

LeetCode 1335 工作計畫的最低難度

oj 題意 給定一組工作序列的難度,給定天數。完成第i個工作的時候,必須要先完成 0,i 1 的工作,每天的工作難度是這一天完成的工作中難度最大的那乙個,每天的難度之和為完成這組工作難度的總和,每天都必須要有工作。題解 典型的動態規劃的題目,用dp i j 來表示i天一共完成j個任務的最小難度。關係...

LeetCode 1335 工作計畫的最低難度

動態規劃的本質是列舉,拆分成乙個乙個狀態,每個狀態只和一些狀態相關,由這些狀態轉移。每乙個狀態已經記錄了這個狀態的最優值,每乙個狀態從前面的相關最優狀態轉移過來,選擇最優值。初始狀態需要初始化,根據問題來初始。dp 位置 段數 段數是已分段的數量,因為最後要分成d段,所以需要記錄這個狀態。初始化這裡...

leetcode 338 位元數計位

給定乙個非負整數 num。對於 0 i num 範圍中的每個數字 i 計算其二進位制數中的 1 的數目並將它們作為陣列返回。示例 1 輸入 2 輸出 0,1,1 示例 2 輸入 5 輸出 0,1,1,2,1,2 高階 思路 對於任意乙個十進位制數來說,有兩種情況。1 奇數,當乙個數為奇數的時候,它對...