某些题解能不能写的清楚一点啊。。
首先容易发现一个性质:每个人肯定是全速走,发生一次碰撞以后拐弯去碰另一个。然后就得到了(O(nlog V))的做法。
可是这没有arc的b格!还需要想线性做法。
首先考虑不合法的情况。什么时候一个人往右走,一直碰不到右边的点?肯定右边的点也在往右走,右边的点的右边也在往右走,右边的点的右边的右边也在往右走,他右边的所有点都是往右走的。
那我们强制1往右走,n往左走,就一定合法了。
当然上面只是一些准备工作。有一个重要的想法,就是把拐弯看成穿透。
现在问题变成了什么样呢?初始时刻给所有人规定一个方向,他一直朝这个方向走。每次A撞上B,如果B的另一边没有相遇,A就继续走,否则A停下。
好像还是没法做?
我们可以把这n个点分成若干RRRRRRRLLLLLL这样的段。考虑如何统计答案。对于段内,肯定是最后一个R和所有L相撞,第一个L和所有R相撞,最终只有最后一个R还在走,别的人都停了。
(p)数组记录所有第一个L的位置,答案就是(maxfrac{ a_{p_i}-a_{p_{i-1}-1}}{2})。
又发现一个性质,不存在LLL,RRR这样的子串。于是我们切掉了arc的e题!