洛谷P3388

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N=2e4+5;
const int mod=1e9+7;
vector<int> g[N];
set<int> v;
int dfn[N],low[N],fa[N];
int n,m,tot;void tarjan(int x){dfn[x]=low[x]=++tot;int child=0;for(int i=0;i< g[x].size();i++){int y=g[x][i];if(dfn[y]==0){child++;fa[y]=x;tarjan(y);if(fa[x]==0&&child>=2){v.insert(x);}else if(fa[x]&&dfn[x]<=low[y]){v.insert(x);}low[x]=min(low[x],low[y]);}else if(y!=fa[x]){low[x]=min(low[x],dfn[y]);}}
}int main(){std::ios::sync_with_stdio(false);cin>>n>>m;for(int i=1;i<=m;i++){int x,y;cin>>x>>y;g[x].push_back(y);g[y].push_back(x);}for(int i=1;i<=n;i++){if(dfn[i]==0){tarjan(i);}}/*for(int i=1;i<=n;i++){cout<<i<<' '<<dfn[i]<<' '<<low[i]<<' '<<fa[i]<<endl;}*/cout<<v.size()<<endl;for(set<int>::iterator iter = v.begin() ; iter != v.end() ; ++iter){cout<<*iter<<" ";}return 0;
}

trajan割点模板相关推荐

  1. poj1144 求割点模板

    以后这种模板还是看书比较好,网上的博客都讲得不是很好,推荐lyd写的<算法竞赛进阶指南>写的,代码比较现代化(是的我就是在嫌弃紫书白书),然后讲解的也通俗易懂. 在各类tarjan算法中, ...

  2. Tarjan 算法思想求强连通分量及求割点模板(超详细图解)

    割点定义 在一个无向图中,如果有一个顶点,删除这个顶点及其相关联的边后,图的连通分量增多,就称该点是割点,该点构成的集合就是割点集合.简单来说就是去掉该点后其所在的连通图不再连通,则该点称为割点. 若 ...

  3. luogu P1345 [USACO5.4]奶牛的电信Telecowmunication(建图技巧 - “割点”模板 、最小割)

    P1345 [USACO5.4]奶牛的电信Telecowmunication 最小割,我们建立一个超级源点和超级汇点,做一下最小割,即可得到通过割边使得整张图变成两个完全不相连的集合的最小花费. 同样 ...

  4. 洛谷P3388 【模板】割点(割顶)

    /*表示割点模板很难理解.... 但是呢,可以将整个图用深搜来一步步递归.. dfn[x]<=low[tmp] && x!=mr的点就++: 完毕.... PS:小心第一个节点. ...

  5. bzoj 1123: [POI2008]BLO(Trajan求割点)

    1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1468  Solved: 678 [Submit][Statu ...

  6. 割点和桥的模板(割点和割边)

    (1)割点与桥(割边)的定义(只存在于无向图) 割点:无向连通图中,去掉一个顶点及和它相邻的所有边,图中的连通分量数增加,则该顶点称为割点. 桥(割边):无向联通图中,去掉一条边,图中的连通分量数增加 ...

  7. POJ 1144 Network (求割点)

    题意: 给定一幅无向图, 求出图的割点. 割点模板:http://www.cnblogs.com/Jadon97/p/8328750.html 分析: 输入有点麻烦, 用stringsteam 会比较 ...

  8. 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】...

    1 build 1.1 Description 从前有一个王国,里面有n 座城市,一开始两两不连通.现在国王将进行m 次命令,命令可 能有两种,一种是在u 和v 之间修建道路,另一种是询问在第u 次命 ...

  9. 一本通-提高篇-图论-割点和桥:

    一本通: 提高篇: 图论: 割点和桥: 1520:[ 例 1]分离的路径 题意:如何把有桥图通过加边变成边双连通分量 如果叶子数(缩点后度为1的点)为1,则至少需要添加0条边: 否则为(叶子数+1)/ ...

  10. 图论之tarjan真乃神人也,强连通分量,割点,桥,双连通他都会

    先来%一下Robert Tarjan前辈 %%%%%%%%%%%%%%%%%% 然后是热情感谢下列并不止这些大佬的博客: 图连通性(一):Tarjan算法求解有向图强连通分量 图连通性(二):Tarj ...

最新文章

  1. 基于matlab fdma传输系统设计,基于MATLAB的LTE系统仿真研究
  2. 解析php.ini 中文版
  3. Maven入门(一)(HelloMaven)
  4. Internet History, Technology, and Security----第三周
  5. Linux 文件大小跟踪命令
  6. Java语言实现二分查找(可查询重复数据)
  7. C语言结构-演员请就位
  8. linux监控命令详解
  9. 简述回源原理和CDN常见多级缓存
  10. 几款优秀的点播、RTSP/RTMP直播播放器介绍
  11. 前端复习之JavaScript基础
  12. ElasticSearch(二十四)基于scoll技术滚动搜索大量数据
  13. 在Silverlight 2应用程序中集成Virtual Earth
  14. TMS320F28335项目开发记录1_CCS的使用介绍
  15. Python数据结构实战——哈希表(HashTable)
  16. Thinkpad E570/580可用的黑苹果EFI
  17. java的第一行代码
  18. hashmap自定义排序java,如何在Java中对HashMap进行排序
  19. mssql 2000 备份计划
  20. Zabbix -- 客户端安装以及如何添加数据库的动态监控视图

热门文章

  1. win10计算机如何切换用户名,如何修改电脑用户名,win10系统更改用户名方法
  2. 6个高效学习编程的方法
  3. google fonts 国内使用方案
  4. youtube上下载vr立体声视频及其处理
  5. wps插入批注快捷键是哪个?
  6. 计算机搜索栏历史记录,如何打开搜索历史记录
  7. android计算器如何保存记录,计算器历史记录怎么看
  8. 如何把flv视频转成mp4?
  9. 马斯克的星链计划并不是在免费送网络而是准备收租
  10. 数据分析案例(6)淘宝电商数据客户价值分析