题目描述:
给定一个无根树,你需要选择最少数量的链,使得树上的所有边都被至少一条链覆盖。输出最少数量,和对应的解。如果有多解,输出任意一个即可。
样例:
输入
5
1 2
1 3
2 4
2 5
输出
2
2 3
4 5
思路:
dfs寻找叶子结点,并标上号,记叶子结点的总个数为ans。第i和叶子结点与第i+(ans+1)/2个
叶子结点相连。若剩下一个叶子结点,则这个叶子结点与其他任意一个叶子结点相连即可。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,u,v,ans;
vector a[200010];
int b[200010];
void dfs(int k,int c)
{
for(int i=0;i<a[k].size();i++)
if(a[k][i]!=c)
dfs(a[k][i],k);
if(a[k].size()==1) b[++ans]=k;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<n;i++)
{
scanf("%d%d",&u,&v);
a[u].push_back(v);
a[v].push_back(u);
}
for(int i=1;i<=n;i++)
if(a[i].size()>=1)
{
dfs(i,i);
break;
}
printf("%d\n",(ans+1)/2);
for(int i=1;i<=ans/2;i++) printf("%d %d\n",b[i],b[(ans+1)/2+i]);
if(ans%2) printf("%d %d",b[1],b[ans/2+1]);
}
详细解决方案
Cover the Tree
热度:5 发布时间:2024-01-28 08:35:41.0
相关解决方案
- 哪位高手用过jquery easy ui 的checkbox tree 啊请问一下
- asp.net tree view 空件在那下载?解决思路
- 关于 XML 和 javascript 在 asp.net页面显示 tree 的有关问题
- 梅花雪的 tree 控件有没有带 checkbox 功能的版本?大名鼎鼎的梅花雪为什么不弄一个这个版本的呢!现在都让ms 的tree 把小弟我们折磨死了
- Weblogic中Ext.tree.TreePanel数据加载不已
- 解决libxml/tree.h not found有关问题
- error 51a2 system cover has probably been opened怎么解决
- extJs tree,该怎么处理
- 请教上哪位高手知道,column-tree.css中zoom是什么意思,在上面这代码里面起什么作用
- dhtml Tree 异步动态加载容易例子
- DHTMLX Tree JSON增添自定义属性方法
- EXT tree 真么平添单击事件
- jQuery File Tree 读取中文显示乱码有关问题抓破头啊
- 急 求大神帮忙关于jquey easy ui tree,该怎么处理
- easyui tree struts2 action中怎么返回json的 求帮助 有说用递归的
- Ext tree 优化有关问题
- Ext tree 用节点做左边导航连接,重复点击不刷新(有关问题已自己搞定,有人要分吗)
- 发一个自己写的PHP树类 tree for php,该如何解决
- Easyui - combo[tree,box]下拉图标有间隙bug解决办法
- Ext4.x 树报表控件【Ext.tree.Panel】 Demo
- 实战之Grid, Tree Gird编者Cell
- 28款jQuery Tree 树形构造插件
- easyui-tree.动态铺展节点
- Jquery EasyUI tree 怎么定义叶节点
- Ext.tree.TreeNode 树型菜单不能展示
- tree 跟treetable
- 怎么利用树形控件(Tree Control)和SWFLoader控件创建一个简单图片相册
- easyui运用二――combotree/tree
- Ext-Grid,Tree,Form等总结
- tree 级联菜单_树型构造