gpt4 book ai didi

algorithm - 将矩形划分为更小的包含 1 个点的矩形,最大化荒地面积

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:08:24 25 4
gpt4 key购买 nike

给定一个包含 P 个点的矩形 R,与轴正交,点是自然数。

地 block 是一个矩形,它:

  • 完全在R中
  • 边与轴正交
  • 里面正好包含一个点
  • 它的边必须与 R 的边相邻或包含来自 P 的点

找到一种算法来找到 R 内的所有可能的地 block ,使它们的总面积最小(最大化荒地面积)。

示例:多种划分方式之一,5 个点(*),2 个包裹

    R
|-----------------------------------------------|
| | | |
| | | * |
| * | |
| | * |
| | * | |
| | | |
| | | |
| |-----------*-------| |
| wastelands | |
| | |
| | |
|-----------------------------------------------|

首先,让我们跳过优化(最大/最小)。有什么好的分割矩形的方法吗?

编辑

看起来它可能是 NP-hard。我从这个问题的发起者那里得到了一些反馈,找到所有可能的包裹是没有意义的。我认为唯一的方法是使用一些启发式方法(例如,找到最大的地 block 或包含最多点的地 block )并检查结果。

最佳答案

我可以为初学者想到一个回溯和指数级困难的方法。您按某种顺序选择点,每次执行以下任一操作:

1-决定通过一条竖线2- 决定通过水平线3- 决定忽略

直到您遇到 3^n 种不同的情况。

对于您自己的应用程序,您可以考虑在每次迭代时应用一些边界条件,例如,验证您是否最终得到一个内部没有点的包裹,然后回溯。

关于algorithm - 将矩形划分为更小的包含 1 个点的矩形,最大化荒地面积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20362658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com