P4381 [IOI2008]Island 题意: 给你一棵基环树森林,求出基环树的直径之和. 题解: 对于基环树,我们将环看作根,那么直径有两种情况:: 1.不经过环,也就是环上某个点的子树内部,对于这种情况,直接在子树内部处理直径,更新答案即可; 2.经过环,答案就是i的子树内长度+j的子树内长度+i和j之间的距离,我们预处理出环上每个点到其子树上的最长距离,在预处理一个环上前缀和,ans=max{sondis[i]+sondis[j]+sumcircle[i]-sumcircle[j]},更新答案即可.sondis[i]记录环上的第i个点到其子树的最远距离;sumcircle[]记录环上...