CSU 1681 Adjoin(树形dp && 树的直径)
题目链接:【CSU 1681】
一共有n个点,m条线,每条线将两个点连接在一起,导致这n个点中有些点是连通的有些点是不连通的,加入最少的线,使得n个点两两连通,求每两个点之间最大距离的最小值
树的直径:树上两个点之间的最大距离
每一个连通块就是一棵树,先求出每一棵树的直径,用数组d[]记录,然后从小到大排序,找到最大直径,合并树(直径小的合并到直径大的),更新最大直径
#inclu
原创
2016-03-21 10:24:52 ·
640 阅读 ·
0 评论