虎!虎!虎!
Solution
爆标了兄弟们,稳定
先放一下 loj 的通过记录:AC Link。
首先考虑怎么做
考虑将整张图三角剖分。对于一个平面图,有欧拉公式
不过有个问题:为什么一定能三角剖分,怎样三角剖分?
(注意本题没有三点共线,后面就不要考虑很多 corner case 了。)考虑将所有点按照
显然后缀凸包之间互相包含,而且并不相同。每加入一个点,相当于凸包外一个点和这个凸包作切线。那么会新增一个凸壳和一个点的之间的连边。而整个图实质上就剖分成这些“月牙”型结构的并,如下图所示。
考虑二分出一个后缀使得老虎恰好在这个后缀的凸包中。那么老虎肯定在这个凸包新增的月牙中。
对着月牙做一次二分就可以。这样一次询问只用两次二分。
如何对月牙作二分呢?我们需要判定老虎是不是在月牙的前