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

生成树

时间:2020-08-02 22:24:25      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:答案   定义   思路   操作   存在   次数   必须   现在   生成   


你有一张n个点的完全图(即任意两点之间都有无向边)
现在给出这张图的两棵生成树
定义一次操作为:在任意一棵生成树中删除一条边后再加入一条边(必须在同一棵树中操作),同时需要保证操作完后仍然是一棵树

问使得两棵树相同的最少操作次数,若不存在合法的操作方案,输出-1

注意:这里的相同指的是点集与边集均相同,也就是对于第一棵树中的边(u, v),第二棵树中一定存在边(u, v)或(v, u),再不懂请看样例解释。

输入描述:

一个整数n表示无向图的点数
接下来n - 1行,每行两个整数u, v表示第一棵生成树中的边
再接下来n - 1行,每行两个整数u, v表示第二棵生成树中的边

输出描述:

一个整数,表示最少操作次数


思路:
刚看到这个题的时候,花了一个图,然后想到找不同的边数

都是n - 1条边,假设有x条不同的边,说明这x条边都要删了然后加上x条边

反过来,n - 1 - 相同的边数也是本题答案

生成树

标签:答案   定义   思路   操作   存在   次数   必须   现在   生成   

原文地址:https://www.cnblogs.com/xcfxcf/p/13423125.html

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