【发布时间】:2014-01-05 18:43:36
【问题描述】:
给定一个 N*M(基于 1 的索引)的矩形网格,其中它们是 k 个不同单元格上的 k 个怪物。现在我们需要回答 Q 个查询,其中我们将获得最低行号 (L) 和最高行number(H) 我们需要告诉那些没有怪物的行之间矩形的最大面积。(这里的矩形面积仅表示单元格的数量)
示例:假设我们有一个 4 * 5 的网格(平均 n=4 和 m=5),怪物位于 7(=k) 个单元格上,即 (1,3) , (1,4) , ( 2,1) , (2,4) , (3,2) , (4,1) , (4,2) 让我们有 1 个查询,其中 L=3 和 H=4 那么这里的最大面积是 6 .
现在如果查询非常大,比如 10^6。那么如何解决这个问题。他们有什么动态方法吗?
这里红色方块代表怪物,紫色方块代表解法
【问题讨论】:
-
怪物无处不在!
-
@P0W 我不明白你想说什么。在解决方案矩形中,我们可以看到他们不是怪物
-
P0W 只是在开玩笑,请忽略 P0W。
-
@user3086701 请删除该问题,因为它与 codechef 正在进行的长期竞赛 codechef.com/JAN14/problems/METEORAK 中的问题相同。我不怪你作弊
-
@VikramBhat:不。好吧,也许有点。我认为这个问题是关于角色扮演游戏的,一个典型的新手编程练习。 (您必须将 OP 归功于很好地掩盖了这个问题。)无论如何,有效算法的问题还没有在这里得到解决,人们似乎对这个问题失去了兴趣。没有难过的感觉。
标签: algorithm dynamic-programming