CEOI2024 海战
不是很难的题目,代码想清楚了还是不是很麻烦的,赛时想的太麻烦了。
显然有一个 \(O(n^2\log n)\) 的写法,可以得到 46pts。
考虑子任务 6,只有向上和向右的船,相当于相碰的船只能在一条斜线上,我们把处于一条斜线上的点都放在一个容器里面,相邻两个舰队不同的可以相撞,可以使用链表来写。最后用小根堆维护相邻的距离。
这个想通了总的就差不多了,只要维护六个方向不同的舰队类型即可。时间复杂度 \(O(n\log n)\)。
不是很难的题目,代码想清楚了还是不是很麻烦的,赛时想的太麻烦了。
显然有一个 \(O(n^2\log n)\) 的写法,可以得到 46pts。
考虑子任务 6,只有向上和向右的船,相当于相碰的船只能在一条斜线上,我们把处于一条斜线上的点都放在一个容器里面,相邻两个舰队不同的可以相撞,可以使用链表来写。最后用小根堆维护相邻的距离。
这个想通了总的就差不多了,只要维护六个方向不同的舰队类型即可。时间复杂度 \(O(n\log n)\)。