Doves and bombs UVA - 10765(统计割顶所连接的连通块的数量)
题意:给定一个n个点的连通的无向图,一个点的“鸽子值”定义为将它从图中删去后连通块的个数。
求对应的点 和 每个点的“鸽子值”
用一个数组在判断割顶的那个地方 累加标记一下所连接的连通块的数量即可
初始化为1。。从1开始累加
饿的发懒。。。看别人的代码吧。原代码地址:https://blog.csdn.net/u014664226/article/details/46622001
- #include<cstdio>
- #include<cstring>
- #include<cmath>
- #include<cstdlib>
- #include<iostream>
- #include<algorithm>
- #include<vector>
- #include<map>
- #include<queue>
- #include<stack>
- #include<string>
- #include<map>
- #include<set>
- #define eps 1e-6
- #define LL long long
- using namespace std;
- const int maxn = + ;
- const int INF = 0x3f3f3f3f;
- int n, m;
- vector<int> G[maxn];
- int val[maxn], node[maxn]; //node数组记录结点id间接排序
- bool cmp(int x, int y) {
- return val[x] == val[y] ? x < y : val[x] > val[y];
- }
- int pre[maxn], dfs_clock;
- int dfs(int u, int fa) { //u在dfs树中的父节点为fa
- int lowu = pre[u] = ++dfs_clock;
- int child = ; //子节点个数
- for(int i = ; i < G[u].size(); i++) {
- int v = G[u][i];
- if(!pre[v]) { //没有访问过v
- child++;
- int lowv = dfs(v, u);
- lowu = min(lowu, lowv); //用后代的low函数更新u的low函数
- if(lowv >= pre[u]) {
- val[u]++;
- }
- }
- else if(pre[v] < pre[u] && v != fa) lowu = min(lowu, pre[v]); //用反向边更新u的low函数
- }
- if(fa < && child == ) val[u] = ;
- return lowu;
- }
- void init() {
- dfs_clock = ;
- memset(pre, , sizeof(pre));
- for(int i = ; i < n; i++) {
- G[i].clear();
- node[i] = i;
- val[i] = ;
- }
- int x, y;
- while(scanf("%d%d", &x, &y) == && x >= ) {
- G[x].push_back(y);
- G[y].push_back(x);
- }
- }
- void solve() {
- dfs(, -);
- sort(node, node+n, cmp);
- for(int i = ; i < m; i++) cout << node[i] << " " << val[node[i]] << endl;
- cout << endl;
- }
- int main() {
- //freopen("input.txt", "r", stdin);
- while(scanf("%d%d", &n, &m) == && n) {
- init();
- solve();
- }
- return ;
- }
Doves and bombs UVA - 10765(统计割顶所连接的连通块的数量)的更多相关文章
- UVA 572 Oil Deposits油田(DFS求连通块)
UVA 572 DFS(floodfill) 用DFS求连通块 Time Limit:1000MS Memory Limit:65536KB 64bit IO Format: ...
- UVA 10765 Doves and bombs(双连通分量)
题意:在一个无向连通图上,求任意删除一个点,余下连通块的个数. 对于一个非割顶的点,删除之后,原图仍连通,即余下连通块个数为1:对于割顶,余下连通块个数>=2. 由于是用dfs查找双连通分量,树 ...
- poj 1144 Network 图的割顶判断模板
Network Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8797 Accepted: 4116 Descripti ...
- UVa 572 油田(DFS求连通块)
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- uva 10765 Doves and Bombs(割顶)
题意:给定一个n个点的连通的无向图,一个点的"鸽子值"定义为将它从图中删去后连通块的个数.求每一个点的"鸽子值". 思路dfs检查每一个点是否为割顶,并标 ...
- UVA 10765 Doves and bombs
给定一个无向的连通图,要求每个点去掉后连通分量的数目,然后输出连通分量最多的m个点. 分析: 先求出双连通分量,然后统计所有双连通分量中割顶出现的次数,最后求出的就是割顶去掉后剩下的双连通的数目,对于 ...
- UVA 315 :Network (无向图求割顶)
题目链接 题意:求所给无向图中一共有多少个割顶 用的lrj训练指南P314的模板 #include<bits/stdc++.h> using namespace std; typedef ...
- POJ1144 Network 无向图的割顶
现在打算重新学习图论的一些基础算法,包括像桥,割顶,双连通分量,强连通分量这些基础算法我都打算重敲一次,因为这些量都是可以用tarjan的算法求得的,这次的割顶算是对tarjan的那一类算法的理解的再 ...
- 图论(无向图的割顶):POJ 1144 Network
Network Description A Telephone Line Company (TLC) is establishing a new telephone cable network. ...
随机推荐
- day 6 汽车4S店铺
1.版本1:大框架 class CarStore(object): '''定义一个汽车店铺类''' pass class Car(object): '''定义一个汽车类''' pass car_sto ...
- 【LOJ10121】与众不同
[LOJ10121]与众不同 题面 LOJ 题解 这题是_\(tham\)给\(ztl\)他们做的,然而这道题™居然还想了蛮久... 首先可以尺取出一个位置\(i\)上一个合法的最远位置\(pre_i ...
- PowerDesigner 15学习笔记:十大模型及五大分类
个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师 ...
- node升级7.0以上版本使用gulp时报错
今天使用gulp时 ,出现了以下报错信息: Error: Cannot find module 'internal/fs'at Object.<anonymous> (/home/XXX/ ...
- MYSQL存储过程调试过程
mysql不像oracle有plsqldevelper工具用来调试存储过程,所以有几种简单的方式追踪执行过程: 1.用一张临时表,记录调试过程: 2.直接在存储过程中,增加select xxx,在控 ...
- 【坚持】Selenium+Python学习之从读懂代码开始 DAY3
2018/05/15 [来源:菜鸟教程](http://www.runoob.com/python3/python3-examples.html) #No.1 list = [1, 2, 3, 4] ...
- php作用域限定符
双冒号::被认为是作用域限定操作符,用来指定类中不同的作用域级别.::左边表示的是作用域,右边表示的是访问的成员. 系统定义了两个作用域,self和parent.self表示当前类的作用域,在类之外的 ...
- “Hello World!团队”Beta发布—视频链接+文案+美工
视频链接:http://v.youku.com/v_show/id_XMzE3MjEyMzkyMA==.html?spm=a2h3j.8428770.3416059.1 文案+美工:http://ww ...
- 20162316刘诚昊 第八周实验报告:实验二 Java面向对象程序设计
实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.没有Linux基础的同学建议先学习<L ...
- 2014-2015 ACM-ICPC, NEERC, Eastern Subregional Contest Problem H. Pair: normal and paranormal
题目链接:http://codeforces.com/group/aUVPeyEnI2/contest/229669 时间限制:1s 空间限制:64MB 题目大意:给定一个长度为2n,由n个大写字母和 ...