题目:
雇佣一个人需要花费,日常工资需要花费,解雇一个人也需要花费。 然后给出了每个月的最小员工数,求如何安排使得开销最小,求出最小开销。
思路:
dp[i][j] 表示第i个月雇佣j个人所需要的开销。 然后思考dp[i-1][j']向dp[i][j]转移的方程。
dp[i][j] = min(dp[i-1][j'] + cost(j'->j) + j个人的工资);
如果j' < j 那么增加人数x = (j - j‘) 增加的费用cost = 雇佣x个人的花费
如果j ' = j 那么cost = 0
如果j ' > j 那么减少人数x = j' - j 增加的费用cost = 解雇x个人的花费
代码