博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj2730(割点+分类讨论)
阅读量:6232 次
发布时间:2019-06-21

本文共 1936 字,大约阅读时间需要 6 分钟。

把割点删去后,剩下的联通块个数就是答案,方案数就是siz乘一起,但要讨论一些特殊情况,没有割点时答案直接算,一个联通块如果连接多个割点是不需算入答案的;

#include
#include
#include
#include
#include
using namespace std;typedef long long ll;const int maxn=505;struct edg{ int nxt,u,v;}e[maxn<<1];int dfn[maxn],low[maxn],ind,is[maxn];int last[maxn],t,cas,n,m,vis[maxn],cc,tim;ll ans=1,sum,cnt,tmp,w[maxn];void add(int x,int y){ n=max(n,max(x,y)); ++t;e[t].nxt=last[x];last[x]=t;e[t].v=y;}void dfs(int x,int fa){ low[x]=dfn[x]=++ind; int child=0; for(int i=last[x];i;i=e[i].nxt){ int v=e[i].v; if(v==fa)continue; if(!dfn[v]){ child++; dfs(v,x); low[x]=min(low[x],low[v]); if(fa&&low[v]>=dfn[x]){
is[x]=1;++cc;} if(child>1&&!fa){
is[x]=1;++cc;} } else low[x]=min(low[x],dfn[v]); }}int solve(int x){ vis[x]=1; int siz=1; for(int i=last[x];i;i=e[i].nxt){ int v=e[i].v; if(!vis[v]){ if(is[v]){ if(w[v]!=tim){cnt++;w[v]=tim;} } else siz+=solve(v); } } return siz;}int main(){ while(scanf("%d",&m)!=EOF&&m){ printf("Case %d: ",++cas); memset(last,0,sizeof(last)); memset(low,0,sizeof(low)); memset(dfn,0,sizeof(dfn)); memset(vis,0,sizeof(vis)); memset(is,0,sizeof(is)); cc=tim=sum=n=t=ind=0;ans=1; int x,y; for(int i=1;i<=m;++i){ scanf("%d%d",&x,&y); add(x,y);add(y,x); } for(int i=1;i<=n;++i){ if(!dfn[i])dfs(i,0); } if(!cc){printf("2 %d\n",n*(n-1)/2);continue;} for(int i=1;i<=n;++i) if((!vis[i])&&(!is[i])){ ++tim; cnt=0; int tmp=solve(i); //cout<
<<' '<
<

 

转载于:https://www.cnblogs.com/dibaotianxing/p/8628594.html

你可能感兴趣的文章
Ubuntu环境使用apt命令下载管理包的优势
查看>>
如何利用MongoDB打造TOP榜小程序
查看>>
Eureka自我保护模式——难点重点
查看>>
Android中Handler的使用[一]
查看>>
用于不同服务器数据库之间的数据操作
查看>>
产品部和业务部门的利益之争
查看>>
手机网页 右边的空白区
查看>>
Fedora 9中“网卡无法自动激活”的解决方法
查看>>
translate under shell with alias
查看>>
Utf-8和Gb2312乱码问题的终结
查看>>
linux命令详解:jobs命令
查看>>
PHP array_merge 隐藏坑。。
查看>>
创业实战go语言制作网站(转)
查看>>
Linux终端:用cat命令查看不可见字符
查看>>
jsp 格式化变量
查看>>
无法识别的属性“targetFramework”。请注意属性名称区分大写和小写。错误解决的方法...
查看>>
java环境变量配置
查看>>
Jquery的toggle()方法
查看>>
ylbtech-LanguageSamples-Versioning(版本控制)
查看>>
CSS 自适应
查看>>