【发布时间】:2016-03-13 17:00:02
【问题描述】:
我在这个问题上纠结了一段时间,试图找出以下问题的递归关系。
问题描述:
假设在一个市场中可能存在以下交易选项:
- 1 金属 2 木材
- 1 木材到 0.2 玻璃
- 1 玻璃比 1.5 金属
- 1 木材到 0.4 火
- 1 火烧 3 金属
确定是否可以仅通过交易从某个项目上获利。
例如在上述场景中,我们可以通过以下操作从金属中获利:
1 金属 -> 2 木材 -> 0.8 火 -> 2.4 金属
我被困在的部分是应该如何分解子问题。这个问题似乎对括号乘法问题很熟悉,我们试图通过一系列乘法来最大化最终结果,但有更多限制。
我不想要完整的答案,但可以将我推向正确方向的提示将不胜感激!
谢谢!
【问题讨论】:
-
提示:这看起来像是一个可以很好地表示为图表的问题。此图中的解决方案是什么样的?你能证明,如果有一个解,那么一定有一个最小这样的解,它有一些特别简单的结构吗?
-
我会将其视为图形问题。每个项目都是一个节点,每个可能的交易都是一个优势。那么,是什么决定了一个有利可图的交易场景呢?
-
@j_random_hacker 谢谢我试一试,作为一个图形问题看起来简单多了!
-
@VincentvanderWeele 谢谢,我试一试,作为图形问题,它似乎简单得多!
-
提示:Bellman Ford 找到负循环,如果有的话。
标签: algorithm dynamic-programming maximum-profit-problem