【发布时间】:2012-07-01 15:47:11
【问题描述】:
我最近在动态编程课程中遇到了这个问题,老实说,我不知道如何确定适当的状态。
您有 N (1 M (1 i 需要 PL_i (1 PF_i (1
任务是按照给定的顺序将这些图形和段落分布在纸上,其中一张纸最多适合 L 行。没有段落或图形太大而不能放在一张纸上。如果放置在纸 x_p 上的段落 x 引用了图 y,则必须将 y 放置在纸上 y strong>x_p - 1 或 x_p 或 x_p + 1。
为了分配所有的图表和段落,我们必须找到要分配的最少行数(以及相应的页数)。任何帮助将不胜感激。提前致谢!
【问题讨论】:
-
“按照给定的顺序”的含义至关重要。是否可以接受 2 个段落出现在一个页面上,而它们的引用数字都出现在下一页(或上一页)上?如果不是(即如果每个图都必须紧跟在相应段落之前或之后),那么问题就简单了。
-
@j_random_hacker 不,不一定。 “按给出的顺序”意味着您不能有两个段落 a 和 b 使得 b 出现在 之前a 在输入中,但在最终分布中分配在 a 之后的论文中。
-
您是说我的“是否可以接受...”问题的答案是“是”? (我知道paragraphs的输出顺序必须与段落的输入顺序相匹配,但我不清楚数字是否也是如此。)
-
@j_random_hacker 是的,答案是肯定的 :) 至于顺序,它适用于段落和数字。
-
是否可以在多个页面上拆分一个段落?
标签: algorithm dynamic state dynamic-programming