专栏文章
虎!虎!虎!
P10651题解参与者 2已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mipaz0q8
- 此快照首次捕获于
- 2025/12/03 09:02 3 个月前
- 此快照最后确认于
- 2025/12/03 09:02 3 个月前
Solution
爆标了兄弟们,稳定 次询问,不需要任何随机化(事实上只能证明是 )。
先放一下 loj 的通过记录:AC Link。
首先考虑怎么做 分。前几个 Sub 的特征是,。
考虑将整张图三角剖分。对于一个平面图,有欧拉公式 。而 ,得 。这样只需要 次询问就可以确定虎在哪个多边形中。
不过有个问题:为什么一定能三角剖分,怎样三角剖分?
(注意本题没有三点共线,后面就不要考虑很多 corner case 了。)考虑将所有点按照 排序,维护后缀凸包。
显然后缀凸包之间互相包含,而且并不相同。每加入一个点,相当于凸包外一个点和这个凸包作切线。那么会新增一个凸壳和一个点的之间的连边。而整个图实质上就剖分成这些“月牙”型结构的并,如下图所示。

考虑二分出一个后缀使得老虎恰好在这个后缀的凸包中。那么老虎肯定在这个凸包新增的月牙中。
对着月牙做一次二分就可以。这样一次询问只用两次二分。
如何对月牙作二分呢?我们需要判定老虎是不是在月牙的前 个三角形中。直接查询包含他们的最小凸包(这个凸包一定是首尾端点构成的三角形。可能会包含之前凸包的部分,但是我们保证了老虎不在里面,所以是无所谓的)。
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...