Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d85a52b

Browse files
author
robot
committed
2 parents d2e663d + 37fb6e4 commit d85a52b

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

‎problems/1723.find-minimum-time-to-finish-all-jobs.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ https://leetcode-cn.com/problems/find-minimum-time-to-finish-all-jobs/
5858

5959
需要注意的是**能力检测** 部分,我们需要枚举所有的情况,而不是像大多数能力检测二分那样直接一次遍历,这是因为这道题可以**不连续** 地选择多个 job。这提示我们使用回溯来解决。
6060

61-
初始化一个长度为 k 的 workloads, workloads[i] 表示第 i 个功能目前的工时。如果第 i 个工人可以做,就**贪心地**进行选择。否则,我们尝试下一个 job。
61+
初始化一个长度为 k 的 workloads, workloads[i] 表示第 i 个工人👷目前的工时。如果第 i 个工人可以做,就**贪心地**进行选择。否则,我们尝试下一个 job。
6262

6363
除此之外,我们需要对算法进行剪枝,否则无法通过所有的测试用例。
6464

@@ -84,11 +84,13 @@ class Solution:
8484
workloads[i] += jobs[pos]
8585
if backtrack(pos + 1, workloads, limit): return True
8686
workloads[i] -= jobs[pos]
87+
# 剪枝
8788
if workload == 0:
8889
return False
8990
return False
9091
def possible(limit):
9192
return backtrack(0, [0] * k, limit)
93+
# 剪枝
9294
jobs.sort(reverse=True)
9395
l, r = jobs[0], sum(jobs)
9496
while l <= r:
@@ -115,16 +117,20 @@ k 二进制位为 1 表示选取任务 k,否则表示不选取任务 k。
115117

116118
那么转移方程为:
117119

118-
$$
120+
<!--$$
119121
dp[i][j]=\left\{
120122
\begin{aligned}
121123
min(dp[i][j], max(dp[i-1][j - sub], sum[sub])) & & i > 0 \\
122124
sum[j] & & i == 0 \\
123125
\end{aligned}
124126
\right.
125-
$$
127+
$$-->
126128

127-
这里枚举子集可进行子集枚举优化策略,具体可看我的 91 天学算法的《基础篇 - 枚举》部分的讲义 。
129+
![](https://tva1.sinaimg.cn/large/008i3skNly1gs0a7pgkgaj30u204ejrs.jpg)
130+
131+
其中 sub 是 j 的子集, sum(sub) 指的是任务情况如 sub 二进制表示那样的完成的**总时间**
132+
133+
因此我们必须枚举所有 j 的子集 sub。这里枚举子集可进行子集枚举优化策略,具体可看我的 91 天学算法的《基础篇 - 枚举》部分的讲义 。
128134

129135
提示:
130136

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /