警示后人
查看原帖
警示后人
1415381
chaeminter2467楼主2024/8/16 07:21

在分类讨论的时候,分三种情况,其中第三种,把编号3~n中的一棵树做根的情况只在n>=3的时候ans才与这种情况取max。

(讲的有点抽象,看看代码吧)

ans=max(far_x+dis_y,far_y+dis_x)+sum_d;
if(n>=3)	ans=max(ans,dis_x+dis_y+mxd[r]-d[r]+sum_d);

//mxd[i]是第i棵树上距离最远的两个叶子的距离,d[i]是第i棵树上根到最远的叶子结点的距离,far_x是x到最远的叶子节点的距离,dis_x是根到x的距离,far_y和dis_y同理

2024/8/16 07:21
加载中...