点对统计,想点分治
设 f [ i ] [ 0 / 1 ] f[i][0/1] f[i][0/1]表示从根到 i i i/从 i i i到根,起点所需要的最小油量(起点加油终点不加油), g [ i ] [ 0 / 1 ] g[i][0/1] g[i][0/1]表示对应情况按照最小油量出发,最后剩下的油量
剩下的就比较简单了,具体见代码
当然也可以看看这篇题解,这个转换也是比较显然的
点对统计,想点分治
设 f [ i ] [ 0 / 1 ] f[i][0/1] f[i][0/1]表示从根到 i i i/从 i i i到根,起点所需要的最小油量(起点加油终点不加油), g [ i ] [ 0 / 1 ] g[i][0/1] g[i][0/1]表示对应情况按照最小油量出发,最后剩下的油量
剩下的就比较简单了,具体见代码
当然也可以看看这篇题解,这个转换也是比较显然的