想了半天式子。。。最后在邓大师的帮助下想出此题。。。。QWQ我还是太菜了

对于一个非割点,ans+=2*(n-1);

对于一个割点,ans+=

 

#include<cstdio>
#include<iostream>
#define R register int
using namespace std;
const int N=100010,M=500010;
inline int g() {R ret=0,fix=1; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-1:fix;do ret=ret*10+(ch^48); while(isdigit(ch=getchar())); return ret*fix;
}
int n,m,cnt=1,num;
int vr[M<<1],nxt[M<<1],fir[N],dfn[N],low[N],sz[N];
long long ans[N]; bool cut[N];
inline void add(int u,int v) {vr[++cnt]=v,nxt[cnt]=fir[u],fir[u]=cnt;}
void tarjan(int u) {dfn[u]=low[u]=++num,sz[u]=1; R sum=0,flg=0;for(R i=fir[u];i;i=nxt[i]) { R v=vr[i];if(!dfn[v]) {tarjan(v); sz[u]+=sz[v]; low[u]=min(low[u],low[v]);if(low[v]>=dfn[u]) {++flg; ans[u]+=1ll*sz[v]*(n-sz[v]);sum+=sz[v]; if(u!=1||flg>1) cut[u]=true;}} else low[u]=min(low[u],dfn[v]);}if(cut[u]) ans[u]+=1ll*(n-sum-1)*(sum+1)+n-1;else ans[u]=2*(n-1);
}
signed main() {n=g(),m=g();for(R i=1,u,v;i<=m;++i) {u=g(),v=g();if(u!=v) add(u,v),add(v,u);}tarjan(1);for(R i=1;i<=n;++i) printf("%lld\n",ans[i]);
}


2019.04.12

转载于:https://www.cnblogs.com/Jackpei/p/10696777.html

BZOJ 1123 Luogu P3469 [POI2008]BLO-Blockade 割点+乘法原理相关推荐

  1. 解题报告:luogu P3469 [POI2008]BLO-Blockade(割点判定 + 思维计算)

    题目链接:BLO 这道题很明显就是要求割点. 题目要求n个数,若将该点割掉,还有多少对有序对,满足x,y不连通. 注意问的是有序对,所以x和y,与y和x是两种情况. 若该点不是割点,很明显把该点割掉以 ...

  2. BZOJ_P1123 [POI2008]BLO(无向图割点)

    BZOJ传送门 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 810 Solved: 344 [Submit][Status][Discuss] De ...

  3. 洛谷P3469 [POI2008]BLO-Blockade(割点过程计算bcc)

    思路:去掉点 i i i后,其他点无论如何都无法到达它了,所以答案首先是 2 ∗ ( n − 1 ) 2*(n-1) 2∗(n−1). 其次,考虑这个点去掉之后,是否会造成一个点无法到达其他点了呢?也 ...

  4. BZOJ1123BLO Tarjan割点+乘法原理+dfs

    BZOJ1123 BLO : Tarjan割点+乘法原理+dfs Description 给定一张无向图,求每个点被封锁之后有多少个有序点对(x,y)(x!=y,1<=x,y<=n)满足x ...

  5. bzoj 1123: [POI2008]BLO(Trajan求割点)

    1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1468  Solved: 678 [Submit][Statu ...

  6. 洛谷 P3469 [POI2008]BLO-Blockade (Tarjan,割点)

    P3469 [POI2008]BLO-Blockade https://www.luogu.org/problem/P3469 题目描述 There are exactly nn towns in B ...

  7. 1123: [POI2008]BLO

    1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MB 链接:https://www.lydsy.com/JudgeOnline/pro ...

  8. UOJ #219 BZOJ 4650 luogu P1117 [NOI2016]优秀的拆分 (后缀数组、ST表)

    UOJ #219 BZOJ 4650 luogu P1117 [NOI2016]优秀的拆分 (后缀数组.ST表) 连NOI Day1T1都不会做...看了题解都写不出来还要抄Claris的代码.. 题 ...

  9. UOJ #131 BZOJ 4199 luogu P2178【NOI2015】品酒大会 (后缀自动机、树形DP)

    UOJ #131 BZOJ 4199 luogu P2178[NOI2015]品酒大会 (后缀自动机.树形DP) 水是水,但是写出了不少问题,因此写一发博客. https://www.luogu.or ...

最新文章

  1. 常用的监听事件(android)
  2. ios 后台唤醒应用_IOS开发之----详解在IOS后台执行
  3. Linux不得不知道的目录和文件
  4. 有理有据!为什么String选择数字31作为hashCode方法乘子?
  5. ubuntu下安装JDK和netbeans
  6. Java并发编程--理解ThreadLocal
  7. pytorch加载的模型测试的结果和保存时测试的结果不一致
  8. 技术实践丨列存表并发更新时的锁等待问题原理
  9. 030、JVM实战总结:G1分代回收原理深度图解:为什么回收性能比传统GC更好?
  10. vc通过编译指令传参_iOS开发你不知道的事编译amp;链接
  11. 关于vs重新生成出现“错误 CS0006: 未能找到元数据文件”.
  12. 那么问题来了,什么才是正确的?我们就是为问题而生的
  13. JDK 1.8 官网下载地址(linux / windows)
  14. 进销存excel_EXCEL也能连接扫码枪?商品扫码入库,免费进销存自由修改功能
  15. Mycat的概述及部署安装
  16. linux java -cp lt; .txt_补交 20155202 蓝墨云班课 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能...
  17. elementui table tooltip产出展示三个点,并且提示
  18. 华为P40系列手机camera特性分析
  19. Checkout和Rest的所有谜题(git reset --files是要改一下)
  20. 关于matlab的相关性函数

热门文章

  1. 手机抓取蓝牙日志btsnoop的方法汇总(Android一直补充中)
  2. 什么是 ARPU 为什么你应该关心 ARPU?
  3. 收藏|超实用的100个示波器基础知识问答
  4. 电视连接WiFi中心服务器异常,网络电视登录失败怎么办?为什么电视连接wifi常常显示登陆失败?...
  5. PySpark:DataFrame及其常用列操作
  6. 机器学习Python相关套件(np, plt, pd)
  7. 1348:【例4-9】城市公交网建设问题
  8. 如何利用石墨文档进行团队协作
  9. 乐高大颗粒作品14:导弹发射车
  10. 大学开设大数据专业,都安排了哪些课程?