割点、桥(一点点更新)
题目地址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=25941#overview
概念介绍:
割点:如果在图G中去掉一个顶点后,该图的连通分支数增加,则称该顶点为G的割点。(跟桥相对)
关于割点的定理:
1.当且仅当在G中存在与顶点v不同的两个顶点u和w,使所有的(u,w)道路都通过v时,v才是割点。
2.一个连通图G至少有两个顶点不是割点。
3.树G中所有度大于1的顶点都是割点。
桥:如果在图G中去掉一条边后,该图的连通分支数增加,则称该顶点为G的桥。
点连通度:最小割点集合中割点的数目。
边连通度:最小桥集合中桥的数目。
双连通分量DCC(Double connected component):
无向连通图:若去掉任一点或任一边都不影响该图的连通性(本来是连通的,现在仍连通),那么该图是一个双连通图(该图的DCC只有一个即本身)。
DCC:是一个无向连通图的子图(注意是无向连通图不是有向图,别把强连通分量与他们搞混了!),该子图是一个双连通图(尽可能大的双连通图,也就是尽可能包含更多的点)。
也就是说一个无向连通图的DCC需要满足三个条件:1.它是该无向连通图的子图 2.该子图是一个双连通图 3.使该子图尽可能的大
边连通:如果一个无向连通图的边连通度大于1,则称该图边连通。
点连通:如果一个无向连通图的点连通度大于1,则称该图点连通。
POJ 2117:
题意:删除一个点后,图中最多有几个连通块。
POJ 3177:
题意:有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走。现已有m条路,求至少要新建多少条路,使得任何两个牧场之间至少有两条独立的路。两条独立的路是指:没有公共边的路,但可以经过同一个中间顶点。
直接的题意就是:给定一个连通的无向图,至少需要添加几条边,才能使其变为双连通图。
POJ 3352:
题意:某个企业想把一个热带天堂岛变成旅游胜地,岛上有N个旅游景点,任意2个旅游景点之间有路径连通(注意不一定是直接连通)。而为了给游客提供更方便的服务,该企业要求道路部门在某些道路增加一些设施。
道路部门每次只会选择一条道路施工,在该条道路施工完毕前,其他道路依然可以通行。然而有道路部门正在施工的道路,在施工完毕前是禁止游客通行的。这就导致了在施工期间游客可能无法到达一些景点。
为了在施工期间所有旅游景点依然能够正常对游客开放,该企业决定搭建一些临时桥梁,使得不管道路部门选在哪条路进行施工,游客都能够到达所有旅游景点。给出当下允许通行的R条道路,问该企业至少再搭建几条临时桥梁,才能使得游客无视道路部门的存在到达所有旅游景点?
POJ 1236:
题意:有N个学校,从每个学校都能从一个单向网络到另外一个学校,两个问题
1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件。
2:至少需要添加几条边,使任意向一个学校发放软件后,经过若干次传送,网络内所有的学校最终都能得到软件。
POJ 2186:
题意:有N(N<=10000)头牛,每头牛都想成为most poluler的牛,给出M(M<=50000)个关系,如(1,2)代表1欢迎2,关系可以传递,但是不可以相互,即1欢迎2不代表2欢迎1,但是如果2也欢迎3那么1也欢迎3,给出N,M和M个欢迎关系,求被所有牛都欢迎的牛的数量。