2017 ICPC沈阳站L

题意就不赘述了,方法就是按照给定的节点连接关系,任意选取一点建树。

要判断最后的交集中边的最大条数,遍历每一条边。因为题目保证是一棵树,所以去掉任意一条边都会变成两个不互相连通的连通分支。设这两个连通分支包含的点数均>=k,那么这条边就在最后的集合中,输出有多少条这样的边。

证明:

对于边a而言,如果它联通的两个图点数都>=k,在选择涂色方案的时候,就可以让这两个图都包含所有的颜色,这样要联通所有相同颜色的点,就必须经过边a。

具体实现的时候先建树,对每个节点统计以其为根节点的子树的点数bi(包括自身)。这样其对应的连接到父节点的边所割的两个图点的数量分别为bi和n-bi,统计这样边的条数就好了。

posted @ 2017-10-27 12:00  海哥天下第一  阅读(490)  评论(0编辑  收藏  举报