随笔分类 -  图论-连通图

摘要:题意: 曹操有N个岛,这些岛用M座桥连接起来,每座桥有士兵把守(也可能没有),周瑜想让这N个岛不连通,但只能炸掉一座桥,并且炸掉一座桥需要派出不小于守桥士兵数的人去,桥的守兵数为0时,也需要派出一个人去炸桥。 思路: 首先判断图是否连通,不连通则不需要去炸桥,输出0。图连通,则可以用Tarjan找割 阅读全文
posted @ 2017-10-14 15:18 codeg 阅读(184) 评论(0) 推荐(0)
摘要:题意: 有n个王子和m个公主,每个王子都会喜欢若干个公主,也就是王子只跟自己喜欢的公主结婚,公主就比较悲惨, 跟谁结婚都行。然后输出王子可能的结婚对象,必须保证王子与任意这些对象中的一个结婚,都不会影响到剩余的王子的配对数,也就是不能让剩余的王子中突然有一个人没婚可结了。 思路: 对每个没有匹配的公 阅读全文
posted @ 2017-10-13 17:46 codeg 阅读(260) 评论(0) 推荐(0)
摘要:题意: 给一个n个点的简单有向图,问最多能加多少条边使得该图仍然是简单有向图,且不是强连通图。简单有向图的定义为:没有重边,无自环。 强连通图的定义为:整个图缩点后就只有一个点,里面包含n个原点,也就是一个连通分量。如果一开始就是一个强连通图,则输出-1。 思路: 要加边最多那么加边后的图连通分量越 阅读全文
posted @ 2017-10-13 16:03 codeg 阅读(201) 评论(0) 推荐(0)
摘要:题意: 有F个牧场,1<=F<=5000,现在一个牧群经常需要从一个牧场迁移到另一个牧场。奶牛们已经厌烦老是走同一条路,所以有必要再新修几条路,这样它们从一个牧场迁移到另一个牧场时总是可以选择至少两条独立的路。现在F个牧场的任何两个牧场之间已经至少有一条路了,奶牛们需要至少有两条。给定现有的R条直接 阅读全文
posted @ 2017-10-11 11:26 codeg 阅读(132) 评论(0) 推荐(0)
摘要:题意: 一个无向图可以有重边,下面q个操作,每次在两个点间连接一条有向边,每次连接后整个无向图还剩下多少桥(注意是要考虑之前连了的边,每次回答是在上一次的基础之上)。 思路: 首先运行一次Tarjan,求出桥和缩点,那么远无向图将缩点为一棵树,树边正好是原来的桥。每次连接两点,看看这两点是不是在同一 阅读全文
posted @ 2017-10-09 19:39 codeg 阅读(185) 评论(0) 推荐(0)
摘要:题意: N(2<N<100)各学校之间有单向的网络,每个学校得到一套软件后,可以通过单向网络向周边的学校传输,问题1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件。2,至少需要添加几条传输线路(边),使任意向一个学校发放软件后,经过若干次传送,网络内所有的学校最终都能得到软 阅读全文
posted @ 2017-10-09 16:59 codeg 阅读(129) 评论(0) 推荐(0)