摘要: 首先将每个平原缩成一个点,建出图,相邻两个点之间的边权为它们高度的较小值。 用Kruskal算法求出这个图的最大生成树,每次合并两个连通块时新建一个点指向它们,得到一棵有根树。 对于每个点,求出它子树内最高的峰,那么对于每个叶子,在它到根的路径上二分查找即可。 时间复杂度$O(nm\log(nm)) 阅读全文
posted @ 2016-09-07 17:26 Claris 阅读(346) 评论(0) 推荐(0) 编辑