P11454 [USACO24DEC] 2D Conveyer Belt S 题解

可能算是图论的题?

可以想到 \(n^4\) 的做法,直接对于每一个图扫一遍,把可以出去的的标出来即可。

但是过不了,瓶颈在我们每一次的扫描,这不必要。可以想到,每一个改变一个点是否只需要修改一部分点,导致最终均摊下来达到正确的时间复杂度。

然而,正着加肯定是不行的,这样会 TLE。那我们可以尝试反着减。这似乎是一个好方法。需要分类讨论。

  • 若减掉的这个点原来是可以出去的,那删掉了还是可以出去的,因为直接把这个点的方向标为原来的即可。
  • 若原来不可出去,那先在可能能出去了,这需要判断这个点周围能否出去,要是周围的点还是不能出去,就没有,不对答案做贡献。若能出去,再扫一遍,更新即可。

这样总共每一个点至多被扫到一次,时间复杂度 \(O(n^2)\) 可以过这一道题。

posted @ 2025-05-04 10:28  hnczy  阅读(29)  评论(0)    收藏  举报