二维动规思想,j 具有明显枚举特征

题目

  1. POJ Post Office
  2. 九度 买卖股票
  3. 九度 项目安排
  4. POJ Lazy Worker
  5. Leetcode Word Break
  6. 九度 座位问题

 

思路

1. 第一二道题是二维DP, 第三四道题是一维DP, 但是大体上来看, 思路是相同的

2. 四道题的公共特征是: i 是物品, j 是数量, dp[i][j] 可以是方案数, 也可以是最值; 当最外层循环到 i 时, 需要做出选择, 不同的选择代价不同; 都有枚举的过程; j 是比较明显的可以枚举的量, 题目往往会给 j 设置个上限

3. 第一道题, dp[i][j] 表示前 i 个村子放 j 个邮局的最小距离. dp[i][j] = min(dp[k][j-1] + dist[k+1][i]) 枚举最后一个邮局的位置

4. 第二道题, dp[i][j] 表示前 i 天买卖 j 次股票的最大收益. dp[i][j] = min(dp[k][j-1] + price[i]-price[k+1]), 枚举最后一次股票交易在哪一天

5. 第三道题, dp[i] 表示在第 i 个job 的截止时间前能够获得的最大收益. dp[i] = max(dp[i-job[i].time] + dp[j]), 枚举第 i 个 job 做或不做

6. 第四道题, dp[i] 表示 i~endtime 能够获得的最大收益. dp[i] = dp[i+job[i].time] + job[i].value 枚举第 i 天可以做的所有工作

 

posted @ 2014-03-23 11:40  周卓  阅读(181)  评论(0编辑  收藏  举报