石家庄自己怎么做网站啊青州网站建设

pingmian/2026/1/25 4:05:00/文章来源:
石家庄自己怎么做网站啊,青州网站建设,网络建设费是什么费用,学校网页设计模板图片连通分量 个数可以通过一次BFS或者DFS得到 割点和桥 可以枚举删除每一个点或者每一条边#xff0c;判断连通分量个数是否增加 更好的方法 该算法是R.Tarjan发明的。对图深度优先搜索#xff0c;定义DFS(u)为u在搜索树#xff08;以下简称为树#xff09;中被遍历到的次序号…连通分量 个数可以通过一次BFS或者DFS得到 割点和桥 可以枚举删除每一个点或者每一条边判断连通分量个数是否增加 更好的方法   该算法是R.Tarjan发明的。对图深度优先搜索定义DFS(u)为u在搜索树以下简称为树中被遍历到的次序号。定义Low(u)为u或u的子树中能通过非父子边追溯到的最早的节点即DFS序号最小的节点。 一个顶点u是割点当且仅当满足(1)或(2)  (1) u为树根且u有多于一个子树。  (2) u不为树根且满足存在(u,v)为树枝边(或称父子边即u为v在搜索树中的父亲)使得DFS(u)Low(v)。 一条无向边(u,v)是桥当且仅当(u,v)为树枝边且满足DFS(u)Low(v)。 void dfs(int u,int fa) {int child0;pre[u]low[u]tim;for(int efst[u];e!-1;enxt[e]){int vs[e].y;if(!pre[v]){child;dfs(v,u);low[u]min(low[u],low[v]);if(low[v]pre[u])cut[u];if(low[v]pre[u])bridge[e]1;}elseif(pre[v]pre[u] v!fa) //v!falow[u]min(low[u],pre[v]);}if(fa0child1)cut[u]0; } 需要注意的是 1.如果i是root那么去掉i后连通分量个数增加cut[i]-1个。如果i不是root那么连通分量增加cut[i]个 2.无向图  bridge[e]1  bridge[e1]同样应标注为1(bridge[e-1]) 双连通   双连通分点双联通和边双联通 对于一个连通图若任意两点至少存在两条“点不重复”的路径则此连通图是点-双连通的意味着任意的两条边都是在同一个简单环上即内部无割顶。点-双连通的极大子图叫做双连通分量或块。定理不同双联通分量最多只有一个公共点且它一定是割顶任意割顶都是至少两个不同双连通分量的公共点。 对于一个连通图若任意两点至少存在两条“边不重复”的路径则此连通图是边-双连通的意味着只需要每条边都至少在一个简单环中即所有边都不是桥。边-双连通的极大子图叫做边-双连通分量除了桥不属于任何边-双连通分量之外其他每条边恰好属于一个边-双连通分量而且把所有桥删除之后每个连通分量对应原图中的一个边-双连通分量。 对于点双连通分支实际上在求割点的过程中就能顺便把每个点双连通分支求出。建立一个栈存储当前双连通分支在搜索图时每找到一条树枝边或后向边(非横叉边)就把这条边加入栈中。如果遇到某时满足DFS(u)Low(v)说明u是一个割点同时把边从栈顶一个个取出直到遇到了边(u,v)取出的这些边与其关联的点组成一个点双连通分支。割点可以属于多个点双连通分支其余点和每条边只属于且属于一个点双连通分支。 对于边双连通分支求法更为简单。只需在求出所有的桥以后把桥边删除原图变成了多个连通块则每个连通块就是一个边双连通分支。桥不属于任何一个边双连通分支其余的边和每个顶点都属于且只属于一个边双连通分支。 有重边的 边-双连通分量 应尤其注意因为重边也算不同的边。解决方案是用边判断而不是利用v!fa判断能否由pre[v]更新low[u] void dfs(int u,int fa) {tim;low[u]pre[u]tim;for(int efst[u];e!-1;enxt[e]){int we;if (e%2)w;else w--;int vs[e].y;if(!pre[v]){dfs(v,e);low[u]min(low[u],low[v]);if (low[v]pre[u])bridge[e]bridge[w]1;}else//if(pre[v]pre[u] v ! fa)if (pre[v]pre[u] (e!fa w!fa))low[u]min(low[u],pre[v]);} }   void dfs(int u) {tim;pre[u]low[u]tim;for(int efst[u];e!-1;enxt[e]){int we;if(w%2)w;else w--;int vs[e].y;if(!pre[v]){flag[e]flag[w]1;dfs(v);low[u]min(low[u],low[v]);if(low[v]pre[u])cnt[e]cnt[w]1;}else if(pre[v]pre[u]!flag[e]) //判断边而不是判断点 {flag[e]flag[w]1;low[u]min(low[u],pre[v]);}} } 构造双连通图   一个有桥的连通图如何把它通过加边变成边双连通图方法为首先求出所有的桥然后删除这些桥边剩下的每个连通块都是一个双连通子图。把每个双连通子图收缩为一个顶点再把桥边加回来最后的这个图一定是一棵树边连通度为1。 统计出树中度为1的节点的个数即为叶节点的个数记为leaf。则至少在树上添加(leaf1)/2条边就能使树达到边二连通所以至少添加的边数就是(leaf1)/2。具体方法为首先把两个最近公共祖先最远的两个叶节点之间连接一条边这样可以把这两个点到祖先的路径上所有点收缩到一起因为一个形成的环一定是双连通的。然后再找两个最近公共祖先最远的两个叶节点这样一对一对找完恰好是(leaf1)/2次把所有点收缩到了一起。 #includeiostream #includecstdio #includecstring using namespace std; int m,tn,n; struct path{int x,y;}s[20001]; int fst[20001],nxt[20001]; bool bridge[20001]; int pre[5001],low[5001]; int tim,part,x,y; int hash[5001],out[5001];void dfs(int u,int fa) {tim;low[u]pre[u]tim;for(int efst[u];e!-1;enxt[e]){int we;if (e%2)w;else w--;int vs[e].y;if(!pre[v]){dfs(v,e);low[u]min(low[u],low[v]);if (low[v]pre[u])bridge[e]bridge[w]1;}else//if(pre[v]pre[u] v ! fa)if (pre[v]pre[u] (e!fa w!fa))low[u]min(low[u],pre[v]);} }void makeside(int x,int y) {n;s[n].xx;s[n].yy;nxt[n]fst[x];fst[x]n; }void color(int i) {hash[i]part;for(int efst[i];e!-1;enxt[e])if (!bridge[e]!hash[s[e].y])color(s[e].y); }void print() {int z0;for(int e1;en;e)if(bridge[e]){out[hash[s[e].x]];out[hash[s[e].y]];}for(int i1;ipart;i)if(out[i]2)z;cout(z1)/2endl; }int main() {while(scanf(%d%d,m,tn)2){memset(fst,-1,sizeof(fst));memset(nxt,-1,sizeof(nxt));memset(bridge,0,sizeof(bridge));memset(hash,0,sizeof(hash));memset(out,0,sizeof(out));memset(pre,0,sizeof(pre));memset(low,0,sizeof(low));nparttim0;for(int i1;itn;i){scanf(%d%d,x,y);makeside(x,y);makeside(y,x);}for(int i1;im;i)if(!pre[i])dfs(i,-1);for(int i1;im;i)if(!hash[i]){part;color(i);}print();} return 0; }见题目 HOJ 1007 SPF 1098 NetWork 1789 Electricity 2360 Redundant Paths   POJ 3117 Redundant Paths 3352 Road Construction 参考 https://www.byvoid.com/blog/biconnect http://blog.csdn.net/z635457712a/article/details/8229113 http://blog.csdn.net/lyy289065406/article/details/6762370  转载于:https://www.cnblogs.com/abgnwl/p/6550352.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85979.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

万网的网站建设好吗php网站开发优势

文章目录 一. 创建项目 引入依赖二. 设计数据库三. 编写数据库代码四. 创建实体类五. 封装数据库的增删查改六. 具体功能书写1. 博客列表页2. 博客详情页3. 博客登录页4. 检测登录状态5. 实现显示用户信息的功能6. 退出登录状态7. 发布博客 一. 创建项目 引入依赖 创建blog_sy…

网站开发就业培训阐述网络营销策略的内容

戳蓝字“CSDN云计算”关注我们哦!作者 | 刘丹出品 | CSDN云计算(ID:CSDNcloud)随着技术的飞速发展,云数据库在云计算的大背景下,作为一种新兴的共享基础架构方法逐渐发展起来,它极大地增强了数据…

个人网站建设设计persona响应式博客wordpress主题

HTML&#xff08;超文本标记语言&#xff09;是构建Web页面的标准语言&#xff0c;它包含了许多标签&#xff0c;用于定义和排列页面内容。在Web开发中&#xff0c;显示图像是非常常见的需求之一&#xff0c;为此HTML提供了<img>标签来插入图像。本文将详细介绍HTML图片标…

wordpress多站点插件网站设计方案怎么写

Django配置静态文件 目录 Django配置静态文件静态文件配置调用方法 一般我们将html文件都放在默认templates目录下 静态文件放在static目录下 static目录大致分为 js文件夹css文件夹img文件夹plugins文件夹 在浏览器输入url能够看到对应的静态资源&#xff0c;如果看不到说明…

北京 网站设计 地址通州页面设计总结

微软公司主办的Build 2016大会尚在进程中&#xff0c;但是两场重量级的主题演讲已经结束。下面列举了我个人非常关注的几个细节&#xff0c;介绍一些背景知识以饲读者。 Bash on Windows背后的历史和未来 微软和IBM二十多年前联合开发NT内核的时候就已经为接驳多种操作系统留下…

淮北市矿业工程建设公司网站中山谷歌推广

前段时间学习二叉树在处理删除操作的时候遇到一个头疼的问题&#xff1a;删除节点的时候明明已经置null了可树上该节点依旧存在&#xff0c;还必须执行node.father.left null;才可以删除node节点&#xff0c;寻找了一下原因发现还是因为对java内存管理理解不够深入。代码如下&…

wordpress获取站点链接wordpress 推荐文章

在日常开发中&#xff0c;我们需要关注 .NET 应用的资源使用情况&#xff0c;方便排查问题和扩容。通过 Ajax 请求获取统计信息&#xff0c;展示成图表&#xff0c;如下图&#xff1a;CLRStats 插件&#xff0c;一个统计 .NET 应用资源使用情况的插件&#xff0c;包含&#xff…

北京网站开发哪家专业文明网站建设情况

更大的成功&#xff0c;不是看我们用双腿走了多少路&#xff0c;而是要看我们总共行了多少路。一只萤火虫&#xff0c;靠自身的力量发出了光芒。夜晚&#xff0c;它仰头望天&#xff0c;对着月亮说&#xff1a;“我是靠自己而发光的&#xff0c;而你却是借助太阳的光芒。虽然你…

网上制作公章seo网络推广技巧

这是我自己早前听课时整理的java基础全套知识 使用于初学者 也可以适用于中级的程序员 我做成了chm文档的类型 你们可以下载 笔记是比较系统全面&#xff0c;可以抵得上市场上90%的学习资料。讨厌那些随便乱写的资料还有拿出来卖钱的人&#xff01;在这里我免费的分享出来供…

小孩做阅读的网站有哪些大连网站建设开发

http://byandby.iteye.com/blog/814277转载于:https://www.cnblogs.com/hyzhou/p/3217022.html

扬州手机网站建设cpa广告网站怎么做

来源&#xff1a; 科学网作者&#xff1a;倪思洁“我们中国的GDP大概很快会实现世界第一&#xff0c;我们什么时候也能在纯科学方面对世界有重大贡献呢&#xff1f;”3月7日&#xff0c;全国人大代表、中科院院士、中科院高能物理研究所所长王贻芳在江苏代表团上发言说。王贻芳…

大良建网站免费建站免费网站

建立一个EXE工程&#xff0c;在窗体上放一个文本框&#xff0c;一个列表框和三个按钮输入如下的代码&#xff1a; Sub Form1_Command1_BN_Clicked(hWndForm As hWnd, hWndControl As hWnd)List1.AddItem(Text1.Text)End SubSub Form1_Command2_BN_Clicked(hWndForm As hWnd, h…

珠海门户网站建设哪家专业提升学历哪种方式含金量高

旧键盘上坏了几个键&#xff0c;于是在敲一段文字的时候&#xff0c;对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字&#xff0c;请你列出肯定坏掉的那些键。 输入格式&#xff1a; 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段…

企业内部门户网站建设微网站设计平台

校验规则 注意: 变量名称可以由数字、字母、美元符号$ 或者 下划线_组成&#xff0c;但是不能包含空格或者以数字为开头。 闯关: 使用var 关键字来创建一个名为salePrice的变量。

网站建设的重要性 学校云服务器怎么发布网站

目录 需求实现讲解工具 - 图片旋转、base64 转换为 file 对象组件封装组件全局注册组件使用效果展示 需求 移动端需要实现手机横屏手写签名并上传签名图片功能。 实现讲解 vue-esign 插件文档地址 https://www.npmjs.com/package/vue-esign SignCanvas 组件封装原理&#xff1a…

网站建设0基础注册城乡规划师考试时间

RAW是指未经过任何压缩或处理的原始图像数据。在摄像头中&#xff0c;原始图像数据可以是来自图像传感器的未经处理的像素值。这些原始数据通常以一种Bayer模式的形式存在&#xff0c;其中每个像素仅包含一种颜色信息&#xff08;红色、绿色或蓝色&#xff09;&#xff0c;需要…

霸州做阿里巴巴网站设计方案步骤

概念 什么是逻辑删除 逻辑删除:假删除。将对应数据中代表是否被删除字段状态修改为“被删除状态”,之后在数据库中仍旧能看到此条数据记录。 数据库实现思路:插入数据时,标记为未删除状态;查询、修改时,只获取未删除状态的数据进行操作;删除时则更新删除状态为已删除…

南油网站建设沈阳专业网站制作

1.最简单的路由配置 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表&#xff1b;你就是以这种方式告诉Django&#xff0c;对于客户端发来的某个URL调用哪一段逻辑代码对应执行。 1.1 例1&#xff1a; 第一步&#xff1a;在…

重庆网站建设接重庆零臻科技大庆建设网站首页

如何解决Oracle数据库游标连接超出问题发布时间&#xff1a;2020-07-21 10:57:35来源&#xff1a;亿速云阅读&#xff1a;103作者&#xff1a;小猪这篇文章主要讲解了如何解决Oracle数据库游标连接超出问题&#xff0c;内容清晰明了&#xff0c;对此有兴趣的小伙伴可以学习一下…

宣城市市政建设集团公司网站执行信息公开网

来源&#xff1a;雷锋网作者 | 付静1 代表着首次&#xff0c;标志着政府与企业持续合作前往国际空间站的开始。终于&#xff0c;美国太空探索技术公司&#xff08;SpaceX&#xff09;的首次正式载人飞行任务拉开大幕&#xff01;美东时间 2020 年 11 月 15 日 19 时 27 分&…