博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[POI2008]BLO
阅读量:5114 次
发布时间:2019-06-13

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

Description

Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通。

Input

输入n<=100000 m<=500000及m条边

Output

输出n个数,代表如果把第i个点去掉,将有多少对点不能互通。

Sample Input

5 5
1 2
2 3
1 3
3 4
4 5

Sample Output

8
8
16
14
8


居然被题面坑了……不能连通的点对是有序点对,而且自己删了要算自己不能和别人连……

无向图tarjan用点双,求出哪些点是割点,然后就是自己的所有子树大小相乘,还有父亲的那一块区域。最后要加上n-1,有序的话再乘个2就好

/*program from Wolfycz*/#include
#include
#include
#include
#include
#define inf 0x7f7f7f7fusing namespace std;typedef long long ll;typedef unsigned int ui;typedef unsigned long long ull;inline int read(){ int x=0,f=1;char ch=getchar(); for (;ch<'0'||ch>'9';ch=getchar()) if (ch=='-') f=-1; for (;ch>='0'&&ch<='9';ch=getchar()) x=(x<<1)+(x<<3)+ch-'0'; return x*f;}inline void print(int x){ if (x>=10) print(x/10); putchar(x%10+'0');}const int N=1e5,M=5e5;int pre[(M<<1)+10],now[N+10],child[(M<<1)+10];int dfn[N+10],low[N+10],size[N+10];ll Ans[N+10];int Time,n,m,tot;void join(int x,int y){pre[++tot]=now[x],now[x]=tot,child[tot]=y;}void tarjan(int x){ int T=0; size[x]=1; dfn[x]=low[x]=++Time; for (int p=now[x],son=child[p];p;p=pre[p],son=child[p]){ if (!dfn[son]){ tarjan(son); size[x]+=size[son]; low[x]=min(low[x],low[son]); if (dfn[x]<=low[son]){ Ans[x]+=1ll*T*size[son]; T+=size[son]; } }else low[x]=min(low[x],dfn[son]); } Ans[x]+=1ll*T*(n-T-1);}int main(){ n=read(),m=read(); for (int i=1;i<=m;i++){ int x=read(),y=read(); join(x,y),join(y,x); } tarjan(1); for (int i=1;i<=n;i++) printf("%lld\n",(Ans[i]+n-1)<<1); return 0;}

转载于:https://www.cnblogs.com/Wolfycz/p/9034943.html

你可能感兴趣的文章
swing入门教程
查看>>
好莱坞十大导演排名及其代表作,你看过多少?
查看>>
Loj #139
查看>>
hihocoder1187 Divisors
查看>>
Azure 托管镜像和非托管镜像对比
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
前端监控
查看>>
clipboard.js使用方法
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
伪类与超链接
查看>>
centos 7 redis-4.0.11 主从
查看>>
博弈论 从懵逼到入门 详解
查看>>
永远的动漫,梦想在,就有远方
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
慵懒中长大的人,只会挨生活留下的耳光
查看>>
"远程桌面连接--“发生身份验证错误。要求的函数不受支持
查看>>
【BZOJ1565】 植物大战僵尸
查看>>