码迷,mamicode.com
首页 > 其他好文 > 详细

2017 ICPC沈阳站L

时间:2017-10-27 13:37:18      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:包含   分支   就是   最大   icpc   判断   去掉   必须   交集   

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

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

证明:

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

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

2017 ICPC沈阳站L

标签:包含   分支   就是   最大   icpc   判断   去掉   必须   交集   

原文地址:http://www.cnblogs.com/brotherHaiNo1/p/7742515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!