动态规划解决方案 - 如何解决? (指出我正确的方向)

Posted

技术标签:

【中文标题】动态规划解决方案 - 如何解决? (指出我正确的方向)【英文标题】:Dynamic Programming Solution- How to solve? (Point me in the right direction) 【发布时间】:2011-11-14 03:10:36 【问题描述】:

我有一个来自 USACO 的关于动态规划的问题。 (学习计算机科学)。

问题文本位于此处:http://pastebin.com/MiJ5aEWc

我在想这可能类似于 Max Inc 子序列,但有人能指出我正确的方向吗?

谢谢!

【问题讨论】:

这是最近考试的吗? 不,我昨天确实参加了铜牌比赛。这真的很容易! :D 【参考方案1】:

是的。可以在 O(n log n) 内求解,动态规划: 首先按 x 坐标对奶牛进行排序,并将品种类型映射到整数 [1..k]。 (k 定义 dp[i] = 最大索引 j 使得从第 j 头奶牛到第 i 头奶牛出现所有品种,如果不存在则为 -1。 因为对于每个 k dp[i]

【讨论】:

我对 dp[i] range [d , i] 周围的符号感到困惑。你能解释一下这是什么意思吗? (也许会扩大那部分?) 已编辑;可接受的范围 [a,b] 表示奶牛的范围包含所有类型的品种。 对不起,打扰你了,如果你愿意,你可以停止评论,但是既然dp[i]等于最大的第j头牛,那么“i dp[i] 那些 i,j 在另一个作用域,你可以用 x 和 y 替换它们:x dp[x]

以上是关于动态规划解决方案 - 如何解决? (指出我正确的方向)的主要内容,如果未能解决你的问题,请参考以下文章

强化学习——MDPs求解之动态规划

如何理解线性分区中的动态规划解决方案?

动态规划 - 分词

如何解决动态规划问题

用动态规划求解分数背包问题

我可以使用动态规划来解决这个问题吗?