CEOI2024 海战

不是很难的题目,代码想清楚了还是不是很麻烦的,赛时想的太麻烦了。

显然有一个 \(O(n^2\log n)\) 的写法,可以得到 46pts。

考虑子任务 6,只有向上和向右的船,相当于相碰的船只能在一条斜线上,我们把处于一条斜线上的点都放在一个容器里面,相邻两个舰队不同的可以相撞,可以使用链表来写。最后用小根堆维护相邻的距离。

这个想通了总的就差不多了,只要维护六个方向不同的舰队类型即可。时间复杂度 \(O(n\log n)\)

posted @ 2026-02-01 20:52  hnczy  阅读(2)  评论(0)    收藏  举报