问个顶点覆盖问题

jieao111 2012-06-27 08:48:04
Description
无向图G=(E,V),寻找V的一个最小子集V’,使得图中所有边至少有一个顶点在集合V’中。输出V’包含的顶点数。若最优解为C,输出的近似解C*接受范围是[C, 1.5*C]。



Input
第1行有两个正整数n和m,1<=n<=100, 1<=m<=1000,分别代表图中顶点个数和边个数。
第2行至第m+1行分别有2个整数a[i],b[i],表示图中的一条边,其顶点编号是a[i]和b[i],编号从0开始。



Output
第一行输出近似解正整数C*。
接下来一行输出C*个正整数,表示每个顶点的编号,顺序任意。



Sample Input
4 5
0 1
1 2
2 3
0 2
1 3



Sample Output
2
1 2
...全文
313 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
FancyMouse 2012-06-27
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20120627/08/b9ec8075-311f-40b0-992e-7b4a1b5f83cb.html
几乎是一模一样的话可以搬过来。这道题近似比例被猜想无法改进到任何小于2的数。所以依旧先尝试朴素算法,随便挑一条边,选上这两个点,然后从图上删除这两个点,这样迭代下去。这个理论近似比例是2,但是它数据弱的话应该能压到1.5以下。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧