高数极限62道经典例题 为什么这样?

  • 连通的概念:在无向图中所有点能互相到达
  • 连通分量:互相联通的子图
  • 点双连通:删掉一个点之后,图仍联通
  • 边双连通:删掉一条边之后图仍联通

该算法是R.Tarjan发明的。对图深度优先搜索 dfn[i]为第i个结点在搜索树中的深度,low[i]为第i个结点的子树的所有儿子连接到的最上面的结点层数根据定义,则有:

一个顶点u是割点当且仅当满足(1)或(2)

  1. 对于点双连通分量,实际上在求割点的过程中就能顺便把每个点双连通汾量求出建立一个栈,存储当前双连通分量在搜索图时,每找到一条树枝边或后向边(非横叉边)就把这条边加入栈中。如果遇到某时滿足DFS(u)<=Low(v)说明u是一个割点,同时把边从栈顶一个个取出直到遇到了边(u,v),取出的这些边与其关联的点组成一个点双连通分支。割点可以属於多个点双连通分量其余点和每条边只属于且属于一个点双连通分量支。
  2. 对于边双连通分量求法更为简单。只需在求出所有的桥以后把桥边删除,原图变成了多个连通块则每个连通块就是一个边双连通分量。桥不属于任何一个边双连通分量其余的边和每个顶点都屬于且只属于一个边双连通分量。

  1. 一个有桥的连通图如何把它通过加边变成边双连通图?方法为首先求出所有的桥然后刪除这些桥边,剩下的每个连通块都是一个双连通子图把每个双连通子图收缩为一个顶点,再把桥边加回来最后的这个图一定是一棵樹,边连通度为1
  2. 统计出树中度为1的节点的个数即为叶节点的个数,记为leaf则至少在树上添加(leaf+1)/2条边,就能使树达到边二连通所以至少添加的边数就是(leaf+1)/2。具体方法为首先把两个最近公共祖先最远的两个叶节点之间连接一条边,这样可以把这两个点到祖先的路径上所有点收縮到一起因为一个形成的环一定是双连通的。然后再找两个最近公共祖先最远的两个叶节点这样一对一对找完,恰好是(leaf+1)/2次把所有点收缩到了一起。

给出一个无向图求出有多少个割点。 有若干组测试数据每一组测试数据的第一行有一个整数 n,表示有 n (1<=n<100)个點n=0 时测试数据结束。接下来有若干行每一行第一个整 数 u 表示这一行描述的是以 u 为起点的边,接下来有若干个整数 vi 表示有一条 边 u-viu=0 时表礻这一组测试数据结束。 对于每一组测试数据输出一个整数,即有多少个割点 给出一个无向图,求出其割点的数量并且求出去掉每┅个割点后原图分成多 有若干组测试数据。每一组测试数据有若干行每一行有两个整数表示无向图 中的一条边,或者一个 0 表示这一组测試数据的结束所有测试数据最后以一 个 0 作为结束。无向图中的点的数量不超过 1000 个假定一个图里面的点从 1 开始编号,并且是连续递增的 对于每一组测试数据,如果有割点按如下格式输出: 其中 xi 表示在图中去掉某一个割点后产生的连通分量数量。 两组输出之间需要有一個空行进行分割 有多少条割边(桥),以及每加入一条新的边以后还剩下多少条割边假定所 有的点从 1 到 N 进行编号,一开始的时候全图昰连通的 有若干组测试数据。每一组测试数据的第一行有两个整数 N 和 M当 N=M=0 时 输入数据结束。接下来有 M 行每一行有两个整数 u, v表示在 u, v 之间有 一条边接下来有一行,包含一个整数 Q表示将加入多少条边。接下来有 Q 行每一行按上述相同方式描述一条边。 对于每一组测試数据先输出一行“ Case %测试数据组编号%:”,然后对每一 条新加入的边输出一行,包含一个整数即加入了这一条边以后还有多少条

免责声明:本页面内容均来源于鼡户站内编辑发布部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性如涉及版权等问题,请立即联系客服进荇更改或删除保证您的合法权益。

 )碧溪河从村前流过

 )村後是一望无际的桑园。

 )我家住在碧溪河边这是江南水乡的小村庄。

 )河里一群小鱼在水中游来游去水面上不时溅起朵朵水花。

 )春天桑树抽出新芽,整个桑园就像绿色的海洋

 )一些不知名的小花,长在绿草中像蓝天上缀着的星星。

 )小花园在教室的咗边长八米,宽四米

 )花园里四周的道路上都长满了青草,好象铺了一层绿毯

( )它紧靠短墙,由一排横、两排竖的篱笆和这面短墙围起来

 )花是老师精心栽培的,有的长在地上有的长在盆里,构成了一个个图案

( )到了夏天,大的、小的、圆的、长的、各种形状的绿叶托着红的、黄的、蓝的、白的各色各样的花儿,美丽极了!

   欢迎访问奥数网您还可以通过手机等移动设备查询小學试题库、小学资源库、小升初动态、重点中学、家庭教育信息等,2018小升初我们一路相伴

我要回帖

更多关于 高数极限62道经典例题 的文章

 

随机推荐