[SHOI2008]仙人掌图 II——树形dp与环形处理

题意: 给定一个仙人掌,边权为1 距离定义为两个点之间的最短路径 直径定义为距离最远的两个点的距离 求仙人掌直径   题解: 类比树形dp求直径。 f[i]表示i向下最多多长 处理链的话,直接dp即可。 处理环的话,类似点双tarjan,把环上的点都拉出来。 先考虑拼接更新答案。断环成链复制一倍,为了保证最短路,答案必须只能是f[i]+f[j]+i-j (i-len/2<=j<i) 单调队列优化。
相关文章
相关标签/搜索