2018.09.15 poj2117Electricity(割点)
传送门
其实求一个图删除一个点之后,联通块最多有多少。
直接tarjan求割点更新答案就行了。
但注意原图不一定连通。
代码:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vector>
#define N 10005
using namespace std;
int m,n,ans,dfn[N],low[N],tot=0,cut[N];
vector<int>e[N];
inline int read(){
int ans=0;
char ch=getchar();
while(!isdigit(ch))ch=getchar();
while(isdigit(ch))ans=(ans<<3)+(ans<<1)+(ch^48),ch=getchar();
return ans;
}
inline void tarjan(int p,int fa){
dfn[p]=low[p]=++tot;
for(int i=0;i<e[p].size();++i){
int v=e[p][i];
if(!dfn[v]){
tarjan(v,p),low[p]=min(low[p],low[v]);
if(low[v]>=dfn[p])++cut[p];
}
else if(dfn[v]<dfn[p]&&v!=fa)low[p]=min(low[p],dfn[v]);
}
}
int main(){
while(scanf("%d%d",&n,&m)==2&&n){
memset(cut,0,sizeof(cut)),memset(dfn,0,sizeof(dfn)),tot=0,ans=-1;
for(int i=1;i<=n;++i)e[i].clear();
for(int i=1;i<=m;++i){
int u=read()+1,v=read()+1;
e[u].push_back(v),e[v].push_back(u);
}
int tmp=0;
for(int i=1;i<=n;++i)if(!dfn[i])tarjan(i,0),++tmp,--cut[i];
for(int i=1;i<=n;++i)ans=max(ans,cut[i]);
printf("%d\n",ans+tmp);
}
return 0;
}
2018.09.15 poj2117Electricity(割点)的更多相关文章
- Lean Data Innovation Sharing Salon(2018.09.15)
时间:2018.09.15地点:北京国华投资大厦
- 2018.09.15[POI2008]BLO-Blockade(割点)
描述 There are exactly nn towns in Byteotia. Some towns are connected by bidirectional roads. There ar ...
- 2018.09.15点名器(简单dp)
描述 Ssoier在紧张的学习中,杜老师每天给他们传授精妙的知识. 杜老师为了活跃气氛,设计了一个点名器,这个点名器包含一个长度为M的数组(下标1开始),每个元素是一个oier的名字,每次点名的时候, ...
- 2018.09.15 poj1734Sightseeing trip(floyd求最小环)
跟hdu1599差不多.. 只是需要输出方案. 这个可以递归求解. 代码: #include<iostream> #include<cstdio> #include<cs ...
- 2018.09.15 hdu1599find the mincost route(floyd求最小环)
传送门 floyd求最小环的板子题目. 就是枚举两个相邻的点求最小环就行了. 代码: #include<bits/stdc++.h> #define inf 0x3f3f3f3f3f3f ...
- 2018.09.15 bzoj1977:次小生成树 Tree(次小生成树+树剖)
传送门 一道比较综合的好题. 由于是求严格的次小生成树. 我们需要维护一条路径上的最小值和次小值. 其中最小值和次小值不能相同. 由于不喜欢倍增我选择了用树链剖分维护. 代码: #include< ...
- 2018.09.15 秘密的牛奶管道SECRET(次小生成树)
描述 约翰叔叔希望能够廉价连接他的供水系统,但是他不希望他的竞争对手知道他选择的路线.一般这样的问题需要选择最便宜的方式,所以他决定避免这种情况而采用第二便宜的方式. 现在有W(3 <= W & ...
- 2018.09.15 vijos1053Easy sssp(最短路)
传送门 貌似可以最短路时同时判定负环啊. 但我不想这样做. 于是写了一个dfs版的判环,bfs版的求最短路. 代码: #include<iostream> #include<ccty ...
- 2018.09.15 hdu3018Ant Trip(欧拉路)
传送门 显然答案等于各个连通分量的笔画数之和. 因此我们dfs每个连通分量计算对答案的贡献. 对于一个连通分量,如果本来就有欧拉回路那么只需要一笔. 否则需要寄点数/2那么多笔才能画完. 知道这个结论 ...
随机推荐
- css之单边阴影
css之单边阴影 需求:在网上找的其他博客上说单边阴影需要牺牲掉模糊,实际上牺牲掉模糊直接用border不就好了 效果: 原理: 1.在左边的外阴影就是右边的内阴影 2.将box-shadow写在be ...
- jquery checkbox
$(document).ready(function() { var $cr = $("#cr"); var cr = $cr[0]; $cr.click(function() { ...
- J2SE 8的注解
1. 注解概念 (1) 注解格式 modifiers @interface AnnotationName { type elementName(); type elementName() defaul ...
- VBA 使用QueryTables 中文乱码的处理
一般情况: cnn = "OLEDB;Provider=IBMDA400;Data Source=TFB4001;User ID=;Password=;" Sql = " ...
- Spring Boot实践——用外部配置填充Bean属性的几种方法
引用:https://blog.csdn.net/qq_17586821/article/details/79802320 spring boot允许我们把配置信息外部化.由此,我们就可以在不同的环境 ...
- JS、CSS以及img对DOMContentLoaded事件的影响
最近在做性能有关的数据上报,发现了两个非常有意思的东西:Chrome开发者工具的Timeline分析面板,以及DOMContentLoaded事件.一个是强大的令人发指的性能分析工具,一个是重要的性能 ...
- HttpClientUtil 工具类
/* * * * FileName: s.java * * Description:TODO(用一句话描述该文件做什么) * * Created: jiangzhanghong 2017年11月14日 ...
- Conductor Server
安装 要求 数据库:Dynomite https://github.com/Netflix/dynomite 索引后端: Elasticsearch 2.x http ...
- toString方法的用法
public class JLDtoS { public static void main(String[]args) { long a=123; Long aa=new Long ...
- 360随身wifi隐藏ssid方法
360随身wifi隐藏ssid方法 以win7为例,介绍如何隐藏360随身wifi ssid方法 一. 禁止360随身wifi官方驱动自启动方法: 1. 找到360wifi自启动文件: 进入以下 ...