点这里查看原题面。 思路 显然,逐一枚举维护的时间复杂度是不堪设想的。我们可以发现,每一次更新的时候原点处会重新冒烟,接下来向周围飘。我们可以理解为在第 t + 0.5 t+0.5 t+0.5 秒,所有有烟的点(先不说原点)为执行第 i i i 至第 t t t 次的结果位置(其中 1 ≤ i ≤ t 1 \le i \le t 1≤i≤t)。 发现这个规律之后开一个哈希表或者容器维护即可。 代码 赛时已 AC,如有问题请联系作者。