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

济南网站制作 泉诺天津网站建设有哪些

济南网站制作 泉诺,天津网站建设有哪些,阜宁网站制作具体报价,wordpress安装好怎么设置密码题目 分析 我们禁止反向遍历无向边,这样的话无向边退化为有向边,如果还能够连通,势必是双连通分量,表现为无向环,任意两点有至少两条分离路径。 于是求双连通分量,缩点。 得到一棵树,通过思考…

题目

分析

我们禁止反向遍历无向边,这样的话无向边退化为有向边,如果还能够连通,势必是双连通分量,表现为无向环,任意两点有至少两条分离路径。

于是求双连通分量,缩点。

得到一棵树,通过思考发现至少需要如下数量边就可以使得这棵树整体变为双连通分量。 

 

注意没有横向边,不用in_stk,直接认定返祖边,只要不是走反向边就行: 

代码

#include <bits/stdc++.h>
using namespace std;const int N = 5010;
const int M = 20010; //这里不用真的重建图,主要是知道谁是叶子节点,所以不考虑重建int h[N], e[M], ne[M], idx;
int dfn[N], low[N], id[N], cnt, tot;
int stk[N], top;
bool is_bridge[M];//这里不需要in_stack,因为没有横向边
int n, m, d[N];void add(int a, int b)  // 添加一条边a->b
{e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;
}
void tarjan(int u, int ine)
{dfn[u] = low[u] = ++tot;stk[++top] = u;for(int i = h[u]; ~i; i = ne[i]){int j = e[i];if(!dfn[j]){tarjan(j, i);low[u] = min(low[u], low[j]);if(low[j] > dfn[u])is_bridge[i] = is_bridge[i^1] = 1;}else if(i != (ine ^ 1))low[u] = min(low[u], dfn[j]);}if(dfn[u] == low[u]){++cnt;int y;do{y = stk[top--];id[y] = cnt;}while(y != u);}
}
int main()
{memset(h, -1, sizeof h);scanf("%d%d", &n, &m);while (m -- ){int a, b;scanf("%d%d", &a, &b);add(a, b);add(b, a);}tarjan(1, -1);for(int i = 0; i < idx; i++)if(is_bridge[i])d[id[e[i]]]++;int t = 0;for(int i = 1; i <= cnt; i++)if(d[i] == 1)t++;printf("%d", t + 1 >> 1);
}


文章转载自:

http://L8AyJ6SS.fchkc.cn
http://3YHBsIcN.fchkc.cn
http://KbhWmQLn.fchkc.cn
http://IwJoMJoC.fchkc.cn
http://Kg5ZxeIm.fchkc.cn
http://XnakgeQA.fchkc.cn
http://xfBa5Wvn.fchkc.cn
http://f2lETUbq.fchkc.cn
http://jMNLP0kB.fchkc.cn
http://IkT7lztc.fchkc.cn
http://ucJsbLAo.fchkc.cn
http://yfJE9yYu.fchkc.cn
http://xlPjYXq7.fchkc.cn
http://qcMOT4V6.fchkc.cn
http://SytwMETb.fchkc.cn
http://qeNOXCF3.fchkc.cn
http://q7sycRam.fchkc.cn
http://R9Aj1tUP.fchkc.cn
http://SAnKoTxZ.fchkc.cn
http://fzsH9Um6.fchkc.cn
http://ZkyZXmC8.fchkc.cn
http://WTXslNz7.fchkc.cn
http://hRNCIEz2.fchkc.cn
http://0UQaJVMM.fchkc.cn
http://67tVdjmS.fchkc.cn
http://YlT33OXL.fchkc.cn
http://92c3n6cR.fchkc.cn
http://tBSdh0Ir.fchkc.cn
http://s92a9OYb.fchkc.cn
http://H7hA1TXI.fchkc.cn
http://www.dtcms.com/wzjs/593092.html

相关文章:

  • vs215开发python网站开发国外服务器租用价格
  • 鲜花网站建设策划书清溪镇做网站
  • 东莞网站建设推广哪家好常州网
  • 北京海淀区网站开发做最好言情网站
  • win10虚拟机做网站网站权限设计
  • 网站悬浮窗广告北京网络公司哪家最好
  • 做旅游网站的产品经理如何深圳市宝安区西乡街道
  • 网站如何做付费php和asp.net建立电商网站比较
  • 全能网站建设完全自学支付网站开发怎么做账
  • 做卖车网站需要什么手续费wordpress 禁止 字体
  • 做打折的淘宝小卖家的网站关于旅行的网站怎样做
  • 教育网站建设 培训网站建设温州哪里做网站比较好
  • 网站开发要上海建筑工程招投标网
  • 兴县网站建设php网站开发 课程介绍
  • 用哪个网站做简历更好怎么用dw做静态网站
  • 网站规划文案网站icp备案咋做
  • 哪个网站的财经做的好知乎北京黑马培训机构怎么样
  • 德州市建设局质监站网站椒江网站建设公司
  • 安徽易企建站做农家乐农产品旅游的网站
  • 南通通州建设工程质量监督网站wordpress 加一个form
  • 网站seo优化技术入门如何开发一个微网站
  • 常熟有做网站的网络公司吗app制作用什么软件
  • vs网站开发需要的组件石家庄新闻综合频道在线直播回放
  • 公众号自己做电影网站国内最新消息
  • 网站开发工资一般多少删除wordpress 后台
  • 清河网站建设费用网站域名space
  • 网站建设可以修改吗wordpress菜单文件夹
  • 网站怎么换主机wordpress付费下载破解版
  • 做网站需要了解的东西网站专业术语中seo意思是
  • 唐山网站建设最好的舞台搭建