社区
数据结构与算法
帖子详情
求解一道信息学竞赛中图的问题!
hyBegins
2005-06-12 11:04:00
一张由n个堡垒组成的交通图,任意两个堡垒之间只有一条通行路线。为了确保路线通畅,必须在某些堡垒上建立火力中心。每个火力中心都能够对其相连的所有交通线进行全天候的监控,防止敌人侵略。现在的问题是如何设置火力中心的布局,才能用最少的火力中心控制所有交通路线。
输入:堡垒数n(1<=n<=10000)。以下每行为i,j,表示堡垒i与堡垒j连接。以“0 0”标志结束
求算法!
...全文
352
23
打赏
收藏
求解一道信息学竞赛中图的问题!
一张由n个堡垒组成的交通图,任意两个堡垒之间只有一条通行路线。为了确保路线通畅,必须在某些堡垒上建立火力中心。每个火力中心都能够对其相连的所有交通线进行全天候的监控,防止敌人侵略。现在的问题是如何设置火力中心的布局,才能用最少的火力中心控制所有交通路线。 输入:堡垒数n(1<=n<=10000)。以下每行为i,j,表示堡垒i与堡垒j连接。以“0 0”标志结束 求算法!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
minlingtianxia
2005-07-06
打赏
举报
回复
up
ihsgnep
2005-07-03
打赏
举报
回复
Mark 学习
minlingtianxia
2005-07-02
打赏
举报
回复
可能是我没说清楚,在操作时染色集是确定的,就是A.“最优解就是要求那个被染色的集合的元素个数最少”指的是解与解之间集合A元素之间的比较.而在一个解中,染色集的元素个数可以多于非染色集的个数,因为有时这是必须的.例如在这完全图的情况下,A可以多于B(且是必须的).而如果你拿出其它的解,只要这可行,那这个解的A集(染色集)的元素个数肯定多于N-1.不知道这样说你是否能理解我的意思.
Zephyrzzz
2005-07-01
打赏
举报
回复
。。。。。。你不是说“最优解就是要求那个被染色的集合的元素个数最少”吗? 后面的“对于完全图,按规则构造出的那个解是染色集有N-1个顶点,非染色集则有1个顶点.而且不能再优化了.”不是矛盾?染色集不是应该只有一个顶点吗?
languagec
2005-07-01
打赏
举报
回复
minlingtianxia
2005-06-30
打赏
举报
回复
...
考察B中的每一个顶点,对与B中的某一顶点P,若所有的与P相连的顶点(必在A中),至少有两个顶点与B中的顶点只有一边相连(即B中除P外无顶点与这顶点相连),则把P放入到A中,把与所有与P相连的但不与B中其他任一顶点相连的顶点放到A中,这样可以优化这个解.
...
对于这里,忘了加上一个条件:"至少有两个顶点与B中的顶点只有一边相连(即B中除P外无顶点与这顶点相连),则把P放入到A中"这里的放入B几个顶点任两点不能有边相连,否则的话放入B后B集合中的顶点就会出现有边相连的两个顶点,而这是不能被允许的.
minlingtianxia
2005-06-30
打赏
举报
回复
to Zephyrzzz() :
对于完全图,按规则构造出的那个解是染色集有N-1个顶点,非染色集则有1个顶点.而且不能再优化了.(这很明显,你可以按规则模仿一下)而事实上最优解的确是这个,因为假如有两个顶点未被染色,由于它是完全图,那么这条边的两个顶点就都未被染色,这个解就不符合!
hyBegins
2005-06-26
打赏
举报
回复
支持
Zephyrzzz
2005-06-26
打赏
举报
回复
to minlingtianxia(敏凌天下):
说一下你的解法对于完全图的情况.
minlingtianxia
2005-06-25
打赏
举报
回复
to: jettylee(要学的还很多~~~)
你的算法显然错了.反例:一棵深度为3的树,根有5个子女,每个子女又都有一个子女,对于这张图
根虽然度最大,但不必染色.
minlingtianxia
2005-06-25
打赏
举报
回复
...
则把P放入到A中,把与所有与P相连的但不与B中其他任一顶点相连的顶点放到A中,这样可以优化这个解.
...
更正为:
...
则把P放入到A中,把与所有与P相连的但不与B中其他任一顶点相连的顶点放到B中,这样可以优化这个解.
...
jettylee
2005-06-25
打赏
举报
回复
贪心
每次染色一个度最大的结点
然后去除这个结点和与这个结点有关的任何边
边的另一头的结点的度减一
循环
就是这样会比较慢 n^2级的
minlingtianxia
2005-06-25
打赏
举报
回复
对于任意图问题不知道这样的算法行不行:
事实上我们可以把图的顶点分成两部分,一类是染色的顶点,另一类是不染色的顶点.易知对于不染色的点集中的任意两个顶点都不能有边相连.现在的问题就是去找这样的一个划分.把所有的顶点划成两类.而最优解就是要求那个被染色的集合的元素个数最少.
先构造一对集合A,B.其中A是被染色的点集.构造规则如下:
(1)把第一个顶点放入B.
(2)假定有K个顶点已被划分好,则对于第K+1个顶点,若放入B不与B中其他的顶点冲突,即这个顶点不与B中的任意一个顶点之间有边相连.则放入B,否则放入A.
当然,这样的顶点未必是最优的.但我们现对其做如下修改:
考察B中的每一个顶点,对与B中的某一顶点P,若所有的与P相连的顶点(必在A中),至少有两个顶点与B中的顶点只有一边相连(即B中除P外无顶点与这顶点相连),则把P放入到A中,把与所有与P相连的但不与B中其他任一顶点相连的顶点放到A中,这样可以优化这个解.
依这个规则不断地对解进行优化.直到不能再优化为止.
对于最后的这个解,我不知道是否符合要求,但有一点是肯定的,最优解一定不能再优化,而我不知道不能再优化的解是否是最优的,我没法有数学来证明,但凭直觉这似乎是对的.
请大家发表一下意见,给出反例也欢迎!
Zephyrzzz
2005-06-20
打赏
举报
回复
"任意两个堡垒之间只有一条通行路线"
Zephyrzzz
2005-06-20
打赏
举报
回复
任意图则是NP难问题了
hyBegins
2005-06-20
打赏
举报
回复
后来我阅读题目也发现,此题实际上的确应该是一颗树。既然是树,我想我能解决了。
现在是如果"任意两个堡垒之间只有一条通行路线"这句话没有,也就是说是一个图的话,有没有最优解?
请不吝指教
virm
2005-06-19
打赏
举报
回复
这个图未必是一棵树,用贪心算法未必能得到最优解
基本上这个问题的最终解是 NP 问题,求较优解倒是容易
sitanda
2005-06-19
打赏
举报
回复
关注
hyBegins
2005-06-19
打赏
举报
回复
up
Zephyrzzz
2005-06-19
打赏
举报
回复
最小覆盖集,由于是图比较特殊,是一棵树,可以用贪心的方法实现.每次寻找一个叶子结点,找出其父亲结点,将其设为中心点.然后将与该中心点连接的所有结点都删去.重复寻找叶子结点的过程,直到所有结点都删去,可以证明,该法所需中心点是最少的.
加载更多回复(3)
信奥赛,数据结构图论进阶
图论作为计算机科学中一个重要的分支,是
信息学
奥林匹克
竞赛
(CSP)中的重要内容之一。图论主要研究的是由顶点和边组成的图形的性质及其相关算法。在图论中,有向图和无向图是两种基本的图类型,有向图中的边具有...
NOIP
信息学
奥赛基础知识与实战提升
NOIP(全国青少年
信息学
奥林匹克联赛)是面向青少年的计算机科学
竞赛
活动,旨在通过比赛提升学生的
信息学
知识和编程能力。NOIP涵盖算法和数据结构等内容,以考查参赛者解决
问题
的思维和编程技巧。
把现实
问题
转化为计算机程序,计算机程序设计教学中
问题
求解
能力的培养探索...
徐建军 尹良泽 陈立前【摘要】针对计算机程序设计教学中实际存在的
问题
,教学...【关键词】计算机程序设计
问题
求解
教学案例【
中图
分类号】G64 【文献标识码】A 【文章编号】2095-3089(2019)13-0243-02计算机程序设...
同余定理在计算机科学的应用,同余定理在小学数学
竞赛
中的应用
肖丽【摘要】本研究基于高观点视角,例析同余定理在小学数学
竞赛
中的应用,探讨运用其解决小学奥数
问题
的优越性。【关键词】小学数学
竞赛
同余定理 应用【
中图
分类号】G623.5【文献标识码】A 【文章编号】2095-3089...
计算机基础算法棋盘覆盖,分治算法
求解
棋盘覆盖
问题
的互动教学过程
吕兰兰+黎明摘要:针对算法设计与分析课程难度较大、对学生编程能力要求较高的现状,通过对棋盘覆盖
问题
的分治算法
求解
过程进行互动教学设计,引导学生进行
问题
理解、算法设计、算法实现。特别是在算法实现环节,一...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章