题意
在一个长度为 \(m\) 的圆环上有 \(n\) 只初始位置互不相同的蚂蚁,每只蚂蚁的速度都为 \(1\),初始方向为顺时针或逆时针;两只运动方向不同的蚂蚁相遇时会调转方向,问 \(t\) 时间后每只蚂蚁的位置。
\(2 \le n \le 3 \times 10^5,2 \le m \le 10^9,0 \le t \le 10^{18}\)。
题解
首先在一条直线上考虑这个问题。不难发现所有最终位置是容易确定的。但各蚂蚁的最终位置却不好求。
注意到重要的性质:蚂蚁的相对位置不改变。于是易得。
但在圆环上,只能保证蚂蚁的相对位置与开始循环同构。故不能用上述方法做。
不妨这样思考:每只蚂蚁携带一个电子屏,开始时第 \(i\) 只显示 \(i\)。相遇时交换电子屏上的数字。设结束时第 \(i\) 只显示 \(a_i\),则 \(a_i\) 的答案即为 \(i\) 的位置。
构造几组样例,不难得出以下性质:若蚂蚁 \(i\) 初始向右,则每相遇一次,\(a_i\) 在模 \(n\) 意义下加 \(1\)。可以感性理解一下。
于是此题解决。
标签:10,le,蚂蚁,电子屏,题解,位置,CF652F From: https://www.cnblogs.com/FishJokes/p/17036670.html