J-Maze Designer
建立最大生成树,求树上任意两点之间的距离
题意
给定一个$n×m$的网格,在两个相邻点之间建立一堵墙会有一定的花费。建立一个迷宫,使任意两点之间只有一条路径可达,求在最低建造成本下,给定任意两点之间的路径。
思路
考虑在所有墙都建立的情况下,移除若干堵墙,使所有点连通,让所有点连通的最大花费即为题目所求的建造方案。建立最大生成树后求两点间的LCA,即可求解。
*我也不知道我比赛时候写的离线LCA有啥问题
代码
1 |
|
J-Maze Designer
建立最大生成树,求树上任意两点之间的距离
给定一个$n×m$的网格,在两个相邻点之间建立一堵墙会有一定的花费。建立一个迷宫,使任意两点之间只有一条路径可达,求在最低建造成本下,给定任意两点之间的路径。
考虑在所有墙都建立的情况下,移除若干堵墙,使所有点连通,让所有点连通的最大花费即为题目所求的建造方案。建立最大生成树后求两点间的LCA,即可求解。
*我也不知道我比赛时候写的离线LCA有啥问题
1 | #include <cstdio> |