题目链接:https://ac.nowcoder.com/acm/contest/392/I

题意:给你一个连通的无向图,问图的割边有多少条

输入:N,M分别是点数和边数

之后M行每行两个正整数u,v表示无向边

强连通分量:如果一个有向图任意两点都是互相可达的,这个图就是强连通分量

不过我们这个题是无向图,所以要改一点

这个博客讲的还蛮好的:https://blog.csdn.net/mengxiang000000/article/details/51672725

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf=<<;
const int maxn=1e5+;
const double pi=acos(-);
const int mod=;
int n,m,cnt,ans,dfn[maxn],low[maxn];
vector<int> v[maxn];
inline void read(int &x){
char ch=x=;
while(!isdigit(ch))
ch=getchar();
while(isdigit(ch))
x=x*+ch-'',ch=getchar();
}
void Tarjan(int now,int fa){
dfn[now]=low[now]=++cnt;
for(int i=;i<v[now].size();i++){
if(!dfn[v[now][i]]){//如果这个点还没有被走过,就走这个点,如果走过dfn肯定被定义过,直接用dfn判断,省一个vis数组
Tarjan(v[now][i],now);//对这个点再用Tarjan算法,并记得把父亲给传过去
low[now]=min(low[now],low[v[now][i]]);//等走完之后再来更新本节点的low值,没走过就是两个low比
if(low[v[now][i]]>dfn[now]) ans++;//回溯之后如果now和其子节点在同一个强连通分量里,子节点的low值应该更新为
//now的dfn值(因为是从now节点更新的,一个强连通分量里仅有一个特殊的点,就是起始点,其他店的low值都会更新为
//它的,所以若不同则说明不再一个强连通分量里 )
}
else if(v[now][i]!=fa) low[now]=min(low[now],dfn[v[now][i]]);
//如果已经走过且不是父亲的话(因为是无向边所以还要标记父亲),那就更新节点的low值吧
}
}
int main(){
scanf("%d%d",&n,&m);
int x,y;
int t=m;
while(t--){
scanf("%d%d",&x,&y);
v[x].push_back(y);
v[y].push_back(x);
}
Tarjan(,);//因为题目说过保证联通,所以不需要再用for循环
//cout<<ans<<" "<<m<<endl;
cout<<m-ans<<endl;
return ;
}

牛客小白月赛12 I 华华和月月逛公园 Tarjan算法求隔边的更多相关文章

  1. 牛客小白月赛12 I 华华和月月逛公园 (tarjian 求桥)

    链接:https://ac.nowcoder.com/acm/contest/392/I 来源:牛客网 华华和月月逛公园 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K, ...

  2. 牛客小白月赛12 H 华华和月月种树 (离线dfs序+线段树)

    链接:https://ac.nowcoder.com/acm/contest/392/H 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K,其他语言2621 ...

  3. 牛客小白月赛12 H 华华和月月种树

    题目链接: 题意:有三个操作 操作 1:表示节点 i 长出了一个新的儿子节点,权值为0,编号为当前最大编号 +1(也可以理解为,当前是第几个操作 1,新节点的编号就是多少). 操作 2:表示华华上线做 ...

  4. 牛客小白月赛12 F 华华开始学信息学 (分块+树状数组)

    链接:https://ac.nowcoder.com/acm/contest/392/F来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536K ...

  5. 牛客网 牛客小白月赛12 B.华华教月月做数学-A^B mod P-快速幂+快速乘

    链接:https://ac.nowcoder.com/acm/contest/392/B来源:牛客网 华华教月月做数学 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

  6. 牛客小白月赛12 C 华华给月月出题 (积性函数,线性筛)

    链接:https://ac.nowcoder.com/acm/contest/392/C 来源:牛客网 华华给月月出题 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K, ...

  7. 牛客小白月赛12 H(dfs序+线段树),F(分块思想+bit),J(二分)

    H 华华和月月种树 链接:https://ac.nowcoder.com/acm/contest/392/H 思路:先得到整棵树最终的形态,在这棵树上进行三种操作,用dfs跑下,第二种操作就直接对最终 ...

  8. 牛客小白月赛12 J 月月查华华的手机 (序列自动机模板题)

    链接:https://ac.nowcoder.com/acm/contest/392/J 来源:牛客网 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机.月月出于人类最单纯的好奇 ...

  9. 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)

    链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...

随机推荐

  1. 苹果 ios 微信浏览器界面 ajax 提交带 file 的 form 总是走error方法

    1. 问题 问题出在微信端,而且是苹果机的微信端(苹果你咋这么矫情,安卓正常).:代码还是之前的代码,貌似是苹果升级系统后部分版本出现的 BUG,后来证明确实跟 ios 版本有关,网上也找过类似的解决 ...

  2. 《Java程序设计》 第四周学习总结

    学号 20175313 <Java程序设计>第四周学习总结 教材学习内容总结 第五章主要内容 了解子类的继承性 子类和父类在同一包中的继承性(除private外其余都继承) 子类和父类不在 ...

  3. 【UML】NO.50.EBook.5.UML.1.010-【UML 大战需求分析】- 考勤系统

    1.0.0 Summary Tittle:[UML]NO.50.EBook.1.UML.1.010-[UML 大战需求分析]- 考勤系统 Style:DesignPattern Series:Desi ...

  4. automapper demo

    最近做项目,需要把DataTable中的数据强类型化.于是试用了下比较常用的AutoMapper,通过看代码中附带的Demo与网上的教程,也算能够勉强使用了,现将学习笔记记录如下: namespace ...

  5. Eclipse出现:An internal error occurred during: "Retrieving archetypes:". GC overhead limit exceeded的问题解决

    网上说修改虚拟内存的方式,其实不太可行,最直接的方式就是删除以前的workspace,重新使用一个新的workspace.

  6. js事件冒泡和事件捕捉

    结论:他们是描述事件触发时序问题的术语.事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件.相反的,事件冒泡是自下而上的去触发事件.绑定事件方法的第三个参数,就是控制事件触发 ...

  7. Sitecore系统教程即时查阅编辑内容

    实时模式中的Sitecore 作为开发人员,我们经常需要在本地环境中使用代码和内容.在本地,能够立即看到任何内容更改,以节省时间和提高效率是有意义的.这是在实时模式下运行Sitecore.默认情况下, ...

  8. C#-MVC-Razor视图引擎及解决路径问题的三个方法

    Razor 视图引擎 与Aspx开发区别在于代码: 1.Razor 更智能,摒弃了<%%>格式,直接用@符号开启cs代码,遇到html时自动识别 2.遇到如汉字等即非cs代码,又非html ...

  9. EasyUI相关知识点整理

    EasyUI相关知识整理 EasyUI是一种基于jQuery.Angular..Vue和React的用户界面插件集合.easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能.也就 ...

  10. MVC开发模式的数据运行流程

    对于java中经典的开发模式MVC,有一些感触!现说一下Java中数据的运行流程,由于我技术有限,有错的话欢迎提出,不喜勿喷! 我们知道在MVC开发模式,包括三部分视图层V(view).控制层C(Co ...