kuangbin专题 专题九 连通图 Network UVA - 315
题目链接:https://vjudge.net/problem/UVA-315
题目:求割点。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std; const int N = ;
int n,tim,tot,root = ;
int head[N],dfn[N],low[N],poi[N];
struct node{
int to;
int nxt;
}e[N*N]; void init(){
for(int i = ; i <= n; ++i){
head[i] = -;
dfn[i] = poi[i] = ;
}
tim = tot = ;
} inline void add(int u,int v){
e[tot].to = v;
e[tot].nxt = head[u];
head[u] = tot++;
} void tarjan(int now,int pre){
dfn[now] = low[now] = ++tim;
int to,son = ;
for(int o = head[now]; ~o; o = e[o].nxt){
to = e[o].to;
if(to == pre) continue; //处理无向图的双向边问题
if(!dfn[to]){
++son;
tarjan(to,now);
low[now] = min(low[now],low[to]);
//割点条件1
if(now != root && dfn[now] <= low[to]) poi[now] = ;
}
else if(low[now] > dfn[to]) low[now] = dfn[to];
}
//割点条件2
if(now == root && son >= ) poi[now] = ;
} int main(){ int u,v;
char ch; while(~scanf("%d",&n) && n){
init(); while(~scanf("%d",&u) && u){
while(~scanf("%d%c",&v,&ch)){
add(u,v); add(v,u);
if(ch == '\n') break;
}
}
tarjan(,);
int ans = ;
for(int i = ; i <= n; ++i)
if(poi[i]) ++ans; printf("%d\n",ans);
} return ;
}
kuangbin专题 专题九 连通图 Network UVA - 315的更多相关文章
- [kuangbin带你飞]专题九 连通图B - Network UVA - 315
判断割点的性质: 如果点y满足 low[y]>=dfn[x] 且不是根节点 或者是根节点,满足上述式子的有两个及其以上. 就是割点 如果是起点,那么至少需要两个子节点满足上述条件,因为它是根节点 ...
- B - Network - uva 315(求割点)
题意:给一个无向连通图,求出割点的数量. 首先输入一个N(多实例,0结束),下面有不超过N行的数,每行的第一个数字代表后面的都和它存在边,0表示行输入的结束(很蛋疼的输入方式). 分析:割点的模板题 ...
- Network UVA - 315(求割点)
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...
- Network UVA - 315 无向图找割点
题意: 给你一个无向图,你需要找出来其中有几个割点 割点/割项: 1.u不为搜索起点,low[v]>=dfn[u] 2.u为搜索起点,size[ch]>=2 3.一般情况下,不建议在tar ...
- [kuangbin带你飞]专题九 连通图
ID Origin Title 76 / 163 Problem A POJ 1236 Network of Schools 59 / 177 Problem B UVA 315 Ne ...
- 「kuangbin带你飞」专题十九 矩阵
layout: post title: 「kuangbin带你飞」专题十九 矩阵 author: "luowentaoaa" catalog: true tags: mathjax ...
- UVA 315 求割点 模板 Tarjan
D - D Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Pract ...
- kuangbin专题 专题九 连通图 POJ 3694 Network
题目链接:https://vjudge.net/problem/POJ-3694 题目:给定一个连通图,求桥的个数,每次查询,加入一条边,问加入这条边后还有多少个桥. 思路:tarjan + 并查集 ...
- kuangbin专题 专题九 连通图 POJ 1236 Network of Schools
题目链接:https://vjudge.net/problem/POJ-1236 题目:有向图,有若干个连通图,点之间有单向边边就可以单向传递信息,问: (1)至少需要发送几份信息才能使得每个点都传递 ...
随机推荐
- 163.扩展User模型-一对一方式扩展
一对一外键 如果你对用户验证方法authenticate没有更多的要求,就是使用username和password就可以完成用户的登录验证工作,但是想要在原来的模型的基础上添加新的字段,那么就可以使用 ...
- JavaScript 闭包浅析
词法作用域 闭包 概念 作用 用法 待续 词法作用域 词法作用域是指一个变量在源码中声明的位置作为它的作用域.同时嵌套的函数可以访问到其外层作用域中声明的变量. 函数中的定义的局部变量只能由函数的内部 ...
- android获取系统信息
连接手机,adb shell 进入 Android Shell 模式,输入 getprop 获取系统属性值 通过上面方法拿到属性名,然后通过下面方法获取到系统的属性值 /** * 获取build.pr ...
- python爬虫模拟登录的图片验证码处理和会话维持
目标网站:古诗文网 登录界面显示: 打开控制台工具,输入账号密码,在ALL栏目中进行抓包 数据如下: 登录请求的url和请求方式 登录所需参数 参数分析: __VIEWSTATE和__VIEWSTAT ...
- Python发带附件的邮件
python实现发送带附件的邮件 import smtplib from email.mime.text import MIMEText from email.mime.multipart impor ...
- 记录 shell学习过程(6)while 以及 while的嵌套 以及 until
while中的5种条件 1.数学比较 read -p "Num :" num1 ] do echo 'greater' sleep done 2.字符串比较 read -p &qu ...
- TD - setAttribute()
添加指定的属性,并为其赋指定的值 this.sltLevelType.setAttribute("height", "100px");
- uevent机制
uevent, user space event. 内核与用户空间的一种通信机制,基于netlink机制,主要用于设备驱动模型,例如热插拔. 1.调用/sbin/mdev的流程分析 在驱动程序中经常出 ...
- echo -e 实现color output
拓展: cp 简化: c'p -rv /data/project/test {.txt,_bak.txt}
- 801. 二进制中1的个数(lowbit(n)函数)
给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数. 输入格式 第一行包含整数n. 第二行包含n个整数,表示整个数列. 输出格式 共一行,包含n个整数,其中的第 i 个数表示数列中的第 ...