微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可以装箱的点的 C++ 子集

如何解决可以装箱的点的 C++ 子集

我在实平面中有一组 N 个点,想知道它们的子集有多少可以“装箱”。也就是说,存在多少个子集,使得实平面中存在一个边平行于 x 和 y 轴的矩形,其中所有点的子集都在里面,任何其他点都在外面。我更喜欢 C++11 解决方案。这是我正在进行一个项目的一部分,但它能够快速运行以最大限度地减少负载相当重要。

我认为凸包在这里可能是相关的,但我很难看到它们实际上如何提供帮助。

一些说明:

由于我们在真实平面上,您可以假设没有点具有完全相同的 x 或 y 坐标。如果它使问题更容易,您可以将 x 和 y 都设为整数,不共享 x 或 y 坐标。

空集和整个集都被计算在内,尽管两者都可以正常工作。

点数并非不合理,大约为 1000,但这意味着所有子集的直接 bash 可能不起作用。 C++中子集的数量应该能够适应一个long long。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。