思路 问题中有两个需要注意的点,一个是空洞和空洞有合并的情况,另一个是合并后空洞的最大高度。因此,合并父节点的情况可以采用并查集的方式来维护,而对于最大高度的情况,思路是保存每个空洞的最高点,然后查询空洞根父亲节点的高度。然而这种思路还有一个比较重要的注意事项,即:能否有一个空洞的最低点小于0。如果所有空洞的最低点都大于0,一定是不可以的。所以维护一个st数组来保证哪些节点最低点是小于0的,以此保证其根父亲节点有意义。另外,虽然最开始采用的是dis的平方进行比较,但考虑到r数据范围到1e9,所以应该采用开方后比较,并使用ll。 代码 #include<cstdio> #includ...