题解

cookiebus 2023-10-03 23:08:27 8 返回题目

此题难点在于相邻且高度相同的点不消耗体力,而普通的相邻点是要消耗体力的。所以我们考虑将高度相同且相邻的点合并成一个点。这样所有的点之前移动都消耗体力,就可以统一起来了。

于是我们首先做一遍 bfs,将所有的相邻同高度格子选择一个统一的代表元(使用并查集维护)。

合并好了之后,从大到小枚举权值,枚举邻点转移即可。

时间复杂度

{{ vote && vote.total.up }}