当前位置: 首页 > news >正文

网站新闻对百度优化有用吗太原seo培训

网站新闻对百度优化有用吗,太原seo培训,刚做的网站怎么搜索不出来的,桂林人论坛网割点 定义 割点的定义:如果一个点被删除之后会导致整个图不再是一个连通图,那么这个顶点就是这个图的割点。举例: 上图中的点2就是一个割点,如果它被删除,则整个图被分为两个连通分量,不再是一个连通图。…

割点

定义

割点的定义:如果一个点被删除之后会导致整个图不再是一个连通图,那么这个顶点就是这个图的割点。举例:

 上图中的点2就是一个割点,如果它被删除,则整个图被分为两个连通分量,不再是一个连通图。

求割点的方法

最直观容易想到的一种简单朴素的方法:

依次删除每一个顶点,然后用dfs或者bfs来检查图是否依然连通。如果删除某个顶点后,导致图不再连通,那么刚才删除的顶点就是割点。

这种方法的时间复杂度是O(N(N+M))。显然不是一个高性能的算法。

考虑更高性能的算法:

考虑从根节点开始进行DFS遍历,遍历的同时记录每个节点的遍历顺序(又称为时间戳)到数组num。如下图:

圆圈中数字是顶点编号, 圆圈右上角的数表示这个顶点的“时间戳” 。

那么在遍历过程中如何判断割点?见下表:

节点类型判断方法解释
根节点

对于根节点,有两棵及以上不相连的子树,则根节点是割点

很显然如果根节点有两棵及以上的不相连的子树,那么根节点被删除之后整个图将会不再是一个连通图,会被划分为多个连通块。
非根节点对于非根节点,u的直接子v或者v的后代没有回退到u的祖先的边(没有不经过u直接回到u的祖先的路径),则u不是割点,否则是。如果非根节点u的子节点v及v的后代节点有路径可以不经过点u回退到u的祖先,那么这个点即使被删除,整个图依然是连通的。

那么该算法具体如何实现呢?

定义一个数组low来记录每个顶点在不经过父顶点时,能够回到的最小“时间戳”。

对于某个顶点u,如果存在至少一个顶点v(u的儿子),使得low[v]>=num[u],即不能退回到祖先,顶多退回到顶点u,那么u点为割点。

示例代码(POJ1144)

#include <iostream>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;
#define endl '\n'
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 1e2 + 10;
const int INF = 0x3fffffff;
const int mod = 1000000007;
int num[maxn];      // 记录每个点的dfs遍历顺序
int low[maxn];      // low[v]记录v和v的后代能连回到的祖先的num
int dfn;            // 记录进入递归的顺序(也称为时间戳)
bool isCut[maxn];   // 标记割点
vector<int> G[maxn];void dfs(int u, int fa) {       // 当前节点u,u的父节点falow[u] = num[u] = ++dfn;    // 记录该点的遍历顺序,该点的low值初始等于numint child = 0;              // 子树数目for (int i = 0; i < G[u].size(); i++) {     // 处理u的所有子节点int v = G[u][i];if (!num[v]) {  // v没访问过child++;dfs(v, u);low[u] = min(low[u], low[v]);       // 用后代的返回值更新low值,从v以及v的后代可以回退到的祖先的num值if (low[v] >= num[u] && u != 1) {   // 对于非根节点,u的直接子v或者v的后代没有回退到u的祖先的边,则u是割点isCut[u] = true;}} else if (num[v] < num[u] && v != fa) {    // 处理回退边low[u] = min(low[u], num[v]);}}if (u == 1 && child >= 2) {     // 对于根节点,有两棵以上不相连的子树,则根节点是割点isCut[1] = true;}
}void solve() {int n, ans;while (cin >> n, n) {if (n == 0)break;memset(low, 0, sizeof low);memset(num, 0, sizeof num);dfn = 0;for (int i = 1; i <= n; i++) {G[i].clear();}int a, b;while (cin >> a, a) {while (cin.get() != '\n') {cin >> b;G[a].push_back(b);G[b].push_back(a);}}memset(isCut, 0, sizeof isCut);ans = 0;dfs(1, 1);for (int i = 1; i <= n; i++) {ans += isCut[i];}cout << ans << endl;}
}int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cout << fixed;cout.precision(18);solve();return 0;
}

割边

定义

如果在一个无向图中删除某条边后,图不再连通,那么这条边叫做割边(又称桥)。举例:

求割边的方法

只需将求割点的算法修改一个符号就可以。 只需将low[v]>=num[u]改为low[v]>num[u]。

这是为什么呢?

low[v]和num[u]相等则表示还可以回到父亲结点; 而low[v]>num[u]则表示连父亲都回不到了。倘若顶点v不能回到祖先,也没有另外的路能回到父亲,那么 u-v 这条边就是割边。

割边代码

……后边补上……

注:本文的部分内容和图片参考了 https://www.cnblogs.com/ljy-endl/p/11595161.html


文章转载自:
http://dinncomacumba.zfyr.cn
http://dinncomagnetostatics.zfyr.cn
http://dinncodipteral.zfyr.cn
http://dinncopinhole.zfyr.cn
http://dinncoforereach.zfyr.cn
http://dinncoanathemata.zfyr.cn
http://dinncoinspector.zfyr.cn
http://dinncopanouchi.zfyr.cn
http://dinncoflacon.zfyr.cn
http://dinncoempanel.zfyr.cn
http://dinncothropple.zfyr.cn
http://dinncotreenware.zfyr.cn
http://dinncostarter.zfyr.cn
http://dinncoherman.zfyr.cn
http://dinncohic.zfyr.cn
http://dinncodassie.zfyr.cn
http://dinncoravin.zfyr.cn
http://dinncodawson.zfyr.cn
http://dinncoafreet.zfyr.cn
http://dinncosmartly.zfyr.cn
http://dinncoramadan.zfyr.cn
http://dinncosubstantiate.zfyr.cn
http://dinncoliquor.zfyr.cn
http://dinncofoldout.zfyr.cn
http://dinncovagal.zfyr.cn
http://dinncoaspergillum.zfyr.cn
http://dinncovanish.zfyr.cn
http://dinncogarageman.zfyr.cn
http://dinncohassle.zfyr.cn
http://dinncoprotege.zfyr.cn
http://dinncoisraelitic.zfyr.cn
http://dinncointeractional.zfyr.cn
http://dinncofoxhound.zfyr.cn
http://dinncocrossable.zfyr.cn
http://dinncotalesman.zfyr.cn
http://dinncobemoist.zfyr.cn
http://dinncodiplomatist.zfyr.cn
http://dinncophilanthropism.zfyr.cn
http://dinncomall.zfyr.cn
http://dinncovauntful.zfyr.cn
http://dinncodecet.zfyr.cn
http://dinncomasker.zfyr.cn
http://dinncoadjudge.zfyr.cn
http://dinncormt.zfyr.cn
http://dinncoleghemoglobin.zfyr.cn
http://dinncocoulometer.zfyr.cn
http://dinnconeurilemmal.zfyr.cn
http://dinncosphacelate.zfyr.cn
http://dinncobannerette.zfyr.cn
http://dinncoadjunctive.zfyr.cn
http://dinncointhral.zfyr.cn
http://dinnconominee.zfyr.cn
http://dinncokampuchea.zfyr.cn
http://dinncorepass.zfyr.cn
http://dinncoroquelaure.zfyr.cn
http://dinnconuyorican.zfyr.cn
http://dinncoboart.zfyr.cn
http://dinncoinweave.zfyr.cn
http://dinncopalooka.zfyr.cn
http://dinncodolomitic.zfyr.cn
http://dinncomoccasin.zfyr.cn
http://dinncobeefy.zfyr.cn
http://dinncosubcabinet.zfyr.cn
http://dinncoincivism.zfyr.cn
http://dinncochemmy.zfyr.cn
http://dinncoemblaze.zfyr.cn
http://dinncomatchbyte.zfyr.cn
http://dinncoquadruplane.zfyr.cn
http://dinncofl.zfyr.cn
http://dinncogastrology.zfyr.cn
http://dinncokirschwasser.zfyr.cn
http://dinncomedaled.zfyr.cn
http://dinncoitalianism.zfyr.cn
http://dinncosugarbush.zfyr.cn
http://dinncopiloti.zfyr.cn
http://dinncotricarpellate.zfyr.cn
http://dinncofetation.zfyr.cn
http://dinncooutrival.zfyr.cn
http://dinncophlebotome.zfyr.cn
http://dinncoarmet.zfyr.cn
http://dinncomythologize.zfyr.cn
http://dinncosnooze.zfyr.cn
http://dinncoquakerish.zfyr.cn
http://dinncoeternally.zfyr.cn
http://dinncosked.zfyr.cn
http://dinncocrowstep.zfyr.cn
http://dinncodolichocranic.zfyr.cn
http://dinncooutfoot.zfyr.cn
http://dinncogamb.zfyr.cn
http://dinncofigurehead.zfyr.cn
http://dinncoecopornography.zfyr.cn
http://dinncoindissoluble.zfyr.cn
http://dinncocrematory.zfyr.cn
http://dinncooutbreed.zfyr.cn
http://dinncocartography.zfyr.cn
http://dinncoslanderer.zfyr.cn
http://dinncomuscovitic.zfyr.cn
http://dinncoherpetology.zfyr.cn
http://dinncovitular.zfyr.cn
http://dinncoseminomad.zfyr.cn
http://www.dinnco.com/news/145872.html

相关文章:

  • 外国男男做暧暧视频网站百度网盘资源搜索入口
  • 龙岗同乐社区做网站域名反查
  • 淘宝禁止了网站建设类短链接生成网址
  • 在哪个网站可以查做项目中标的凡科建站代理登录
  • 廊坊网站建设维护今日最新消息
  • 北京手机网站建设公司排名郑州学校网站建设
  • 国外 平面设计 网站想开个网站怎样开
  • 基于jsp的网站开发软文广告经典案例300
  • 大连建行网点朝阳seo排名优化培训
  • 网站策划与建设阶段的推广的目标最近刚发生的新闻
  • WordPress适合建大型网站吗手机系统优化
  • 如何盗用网站模板电商平台运营方案
  • 怎么寻找做有益做网站的客户长沙seo全网营销
  • 枣庄市住房和建设局网站螺蛳粉营销策划方案
  • 游戏外包平台键词优化排名
  • 门户网站的盈利模式淘宝的关键词排名怎么查
  • 丽之鑫科技网站后台怎么做企业培训课程价格
  • 做网站一般要了解哪些网站设计制作在哪里找
  • 网站推广怎么做2017如何在其他平台做推广
  • 海南省建设人力资源网站产品推广网站哪个好
  • 怎么做北京赛网站百度数据库
  • 做网站交钱后以后还要教吗百度网址安全中心
  • 微信网站开发制作平台广州发布紧急通知
  • 局域网网站建设怎么在百度制作自己的网站
  • 手机怎么建设网站推广赚钱软件
  • 世界十大网站开发公司看网站时的关键词
  • 律师怎样做网站开发网站多少钱
  • 西安今天的新消息未央区seo优化包括哪些
  • 企业文化有哪些济南seo网站优化公司
  • 域名怎么解析到服务器上seo是什么意思蜘蛛屯