点击打开链接

套的啊哈算法上的板子

当初学割点割边板子都是靠背的.. 主要是时间戳这个东西不太理解

就是以某一点为根生成一棵搜索树 意义就是记录每个点的时间戳(感觉也可以理解为树的层数)

越靠后被遍历到 时间戳就越大(层数越高) 看一个父节点的子节点的时间戳是否比父节点要大 如果大 就说明这个子节点除了通过这个父节点以外没有途径回到更小的时间戳(更低的层数) 这样的话 如果去掉这个父节点u 那这子节点以及以这个子节点为根的子树都被割断 u即为割点

#include <stdio.h>
#include <cstring>
#include <algorithm>
using namespace std;struct node
{int v;int next;
};node edge[10010];
int first[110],book[110],dfn[110],low[110];
int n,num,cnt,sum,root;void addedge(int u,int v);
void dfs(int cur,int pre);int main()
{int i,u,v;while(scanf("%d",&n)!=EOF){if(n==0) break;memset(first,-1,sizeof(first));num=0;while(scanf("%d",&u)!=EOF){if(u==0) break;while(getchar()!='\n'){scanf("%d",&v);addedge(u,v);addedge(v,u);}}memset(book,0,sizeof(book));memset(dfn,0,sizeof(dfn));memset(low,0,sizeof(low));cnt=0,root=1;dfs(1,-1);sum=0;for(i=1;i<=n;i++){sum+=book[i];}printf("%d\n",sum);}return 0;
}void addedge(int u,int v)
{edge[num].v=v;edge[num].next=first[u];first[u]=num++;return;
}void dfs(int cur,int pre)
{int i,v,chd;cnt++,chd=0;dfn[cur]=cnt;low[cur]=cnt;for(i=first[cur];i!=-1;i=edge[i].next){v=edge[i].v;if(dfn[v]==0){chd++;dfs(v,cur);if(low[v]<low[cur]){low[cur]=low[v];}if(cur!=root&&low[v]>=dfn[cur]||cur==root&&chd>=2){book[cur]=1;}}else if(v!=pre){if(dfn[v]<low[cur]){low[cur]=dfn[v];}}}return;
}

Network POJ - 1144相关推荐

  1. POJ 1144 Network(无向图连通分量求割点)

    题目地址:POJ 1144 求割点.推断一个点是否是割点有两种推断情况: 假设u为割点,当且仅当满足以下的1条 1.假设u为树根,那么u必须有多于1棵子树 2.假设u不为树根.那么(u,v)为树枝边. ...

  2. A - Wireless Network POJ - 2236

    A - Wireless Network POJ - 2236 并查集 if (op == 'S') {scanf("%d%d", &u, &v);if(vis[u ...

  3. POJ 1144 Network 图论

    题目地址:http://poj.org/problem?id=1144 题目大意:多组数据,每组数据以0结束,文件也以0结束.对于每组数据第一行n表示点数,接下来至多n行,每行至多n个数,第i个数表示 ...

  4. POJ 1144 Network (求割点)

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

  5. POJ 1144 Network

    无向图求割点,开始看题后不知道求什么,看了discussi才知道是求割点,然后就在网上找了找关于割点的知识.然后在http://blog.csdn.net/xinghongduo/article/de ...

  6. Power Network POJ - 1459(EK算法模板+详解)

    题意: 总共有a个节点,其中有发电站b个.用户c个和调度器a-b-c个三种节点,每个发电站有一个最大发电量,每个用户有个最大接受电量,现在有d条有向边,边有一个最大的流量代表,最多可以流出这么多电,现 ...

  7. uva 315 (poj 1144 求割点)

    题意:给你一张无向图,求割点的个数. 思路:输入稍微处理一下接着直接套模版. 1 #include <iostream> 2 #include <cstdio> 3 #incl ...

  8. Power Network [POJ - 1459]

    题解: 最大流模板题 dinic算法 建立一个超级源点跟超级汇点,把超级源点连接到发电厂,流量设为发电厂发电量 超级汇点跟耗电的用户连接,流量为消耗的电能 发电场和消耗电能的工厂用题目所给数据连接即可 ...

  9. poj 1144 割点和桥

    割点: 对于一个无向的连通图,如果删除一个点u及其相关的边,会是的新的图不连通,那么点u就称为图G的一个割点. 记得   首先这个图是  无向的 其次是连通的. vis[]记录的是节点v当前的访问状态 ...

最新文章

  1. XWiki 4.3 正式版发布
  2. 【Android NDK 开发】Android.mk 配置动态库 ( Android Studio 配置动态库 | 动态库加载版本限制 | 本章仅做参考推荐使用 CMake 配置动态库 )
  3. 联想开机启动项按哪个_联想电脑开机按f12后,怎么设置默认启动项
  4. Qt 程序访问 sqlite 权限错误
  5. [转]解决xampp无法启动apache的问题
  6. Flask运行时Unicode编码错误
  7. linux shell grep -v grep|awk ‘{print $1}‘ 是什么意思
  8. 利用WCF与Android实现图片上传并传参
  9. springboot(运行原理参考借鉴)
  10. hibernate执行完查询操作后又执行许多更新操作
  11. 第115页的gtk+编程例子——最简单的进度条2附带使用Anjuta写gtk程序的步骤
  12. os.path -- 常用路径操作
  13. 言承旭签约尊尼事务所 变木村拓哉师弟攻日本
  14. HTML5 之 Form 标签
  15. 权限管理系统设计——入门(一)
  16. dellr420部署os_戴尔dell poweredge r730服务器系统安装配置详解教程
  17. SpringMVC @ResponseBody在IE8变下载
  18. jquery遍历json数组
  19. spring boot 2.1.4 hibernate二级缓存 Hazelcast实现(一)
  20. scrapy 定时爬取小技巧

热门文章

  1. 被中国家长摧残的十种优秀儿童品质(转)
  2. 旺旺qq html,如何在网页HTML中嵌入QQ、MSN、旺旺、Gtalk快速对话框代码
  3. Dell戴尔笔记本电脑游匣G15 5510原装出厂OEM系统恢复原厂自带Windows10系统
  4. GB/T28181-2022图像抓拍规范解读及技术实现
  5. AirSim无人机仿真(Ubuntu18.04)
  6. 《我的极品媳妇》方志强 王亚欣 小说读后感
  7. Web前端系列技术之移动端CSDN会员页面复刻(动态完整版)
  8. 什么是php 抽象类
  9. moment获取本月、上个月、近三个月时间段
  10. VPN的搭建与使用--CentOS7.9(OpenVpn环境配置)