倍增可以理解成一种特殊的区间dp,设f[i][j]表示i开始长度为2^j的一段的值,用于加速计算 P1198 [JSOI2008]最大数 设f[i][j]表示从i开始向前2^j的最大值,因为每次添加操作都是从后面加入的,不影响前面值,所以可以利用倍增维护 代码 P1967 [NOIP2013 提高组] 货车运输 考虑到要求最大的边权,所以我们可以求这个图的最大生成树,然后利用倍增维护lca和树上的距离即可 代码