Description

Input

Output

Sample Input
7 9
1 2
1 3
1 4
1 5
1 6
1 7
2 3
4 5
6 7

Sample Output
18
6
6
6
6
6
6

Data Constraint

.
.
.
.
.
分析
tarjan找割点直接计算即可。对于一个点,若它是割点,那么它的贡献即为删去这个点后不同联通块的size两两相乘的和再除以二,最后加上n-1,(代表以这个点为起点的种数)。若它不是割点,那么它的贡献就是n-1。注意计算两两联通块相乘的和时,考虑x的子树中有返祖边的情况。比如这个情况:n=4,m=4,(u,v)=(1,4),(2,3),(1,2),(2,4)。对于割点的答案应是5。

.
.
.
.
.
.
程序:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;int cnt=1,dfn[50100],low[50100],f[50100],ans[50100],head[200010],w[50100],n,m;struct edge
{int next,to;
} a[200010];void add(int x,int y)
{a[cnt].next=head[x];a[cnt].to=y;head[x]=cnt++;
}void tarjan(int x)
{dfn[x]=low[x]=++cnt;w[x]=1;int sum=0;for (int i=head[x];i;i=a[i].next){int u=a[i].to;if (dfn[u]==0){tarjan(u);low[x]=min(low[x],low[u]);w[x]+=w[u];if (dfn[x]<=low[u]){f[x]=1;sum+=w[u];ans[x]+=w[u]*(n-w[u]-1);}} else low[x]=min(low[x],dfn[u]);}ans[x]+=sum*(n-sum-1);
}int main()
{scanf("%d%d",&n,&m);for (int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);add(x,y);add(y,x);}memset(f,false,sizeof(f));cnt=0;tarjan(1);for (int i=1;i<=n;i++)printf("%d\n",ans[i]/2+n-1);return 0;
}

转载于:https://www.cnblogs.com/YYC-0304/p/10458931.html

战争游戏[tarjan]相关推荐

  1. skype安卓手机版_危险的战争游戏安卓手机版下载-危险的战争下载v1.0.13

    危险的战争游戏安卓手机版是一款非常好玩的简约画风的手机战争策略游戏,在危险的战争游戏安卓手机版游戏中玩家将控制自己的军队进行战斗,游戏玩法简单有趣,感兴趣的朋友赶紧下载危险的战争游戏安卓手机版开始游戏 ...

  2. [TJOI2009] 战争游戏

    题目背景 小R正在玩一个战争游戏.游戏地图是一个M行N列的矩阵,每个格子可能是障碍物,也可能是空地,在游戏开始时有若干支敌军分散在不同的空地格子中.每支敌军都可以从当前所在的格子移动到四个相邻的格子之 ...

  3. 太空java游戏_JavaSpaceWar 一个基于 语言编写的太空战争游戏,包含所有图像和声音资源,便 习理解使用 Game Program 238万源代码下载- www.pudn.com...

    文件名称: JavaSpaceWar下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 506 KB 上传时间: 2014-03-18 下载次数: 0 提 供 者: ...

  4. unity塔防游戏怪物转向_防御之迷无限战争游戏下载-防御之迷无限战争游戏安卓版 v1.0...

    防御之迷无限战争游戏:这是一款星际风格的策略塔防游戏,玩家在游戏中需要对抗可怕的异形生物,这些怪物会不断入侵地球,你要做的就是建造不同的炮台,炮台等级高你才能快速杀死这些怪物保护地区的安全! 防御之迷 ...

  5. 一个以东晋北伐为背景的战略战术类古代战争游戏

    一个以东晋北伐为背景的战略战术类古代战争游戏 中国五千年历史,最让我觉得神秘,充满诱人之处的却是很多人不太了解的五胡 乱华南北朝.说来好笑,对这段历史的偏好居然是因为自以为的那些不同凡响的 人名.祖逖 ...

  6. atlas单机模式代码_为什么说海盗战争游戏《ATLAS》很佛系?看看这些玩法就知道了...

    作为Steam目前比较受欢迎的航海游戏,海盗战争游戏<ATLAS>有着极具特色的航海玩法.这款游戏不仅有Steam版本,还有Xbox版本,并且实现了互通,现在很多国人玩家都热衷于在< ...

  7. java swing游戏源码-宇宙战争游戏,Java飞船射击游戏

    原文:java swing游戏源码-宇宙战争游戏,Java飞船射击游戏 源代码下载地址: http://www.zuidaima.com/share/1880717151603712.htm 一个基于 ...

  8. python之星河战争游戏

    效果图: 开始界面: 游戏中: gameover! 文件结构: game_file:所有游戏逻辑相关的源码: rec:游戏相关的图片.音乐资源: main.py: 游戏的启动文件: 所用到的图片: 源 ...

  9. 杀人游戏-Tarjan

    图论建模-杀人游戏 杀人游戏 [中山市选]杀人游戏 题目描述一位冷血的杀手潜入Na-wiat,并假装成平民.警察希望能在 N N N个人里面,查出谁是杀手.警察能够对每一个人进行查证,假如查证的对象是 ...

最新文章

  1. Xamarin.FormsShell基础教程(2)创建Shell解决方案
  2. 鸿蒙系统明年上市巧,鸿蒙系统官网下载-鸿蒙系统官网下载手机版 v2.0下载-955游戏网...
  3. JavaScript事件绑定
  4. radio button html5,Tkinter Radiobutton单选框的用法
  5. java 类加载器加载顺序 经典例子
  6. 前端学习(3240):react生命周期forceUpdate
  7. Markdown YYDS,但是编辑器依旧可以更好 | CSDN编辑器测评
  8. SpringCloud系列十三:Feign对继承、压缩、日志的支持以及构造多参数请求
  9. Memcached、MongoDB、Redis和tokyotyrant
  10. 物流公司老板血泪史:我如何被山寨版物流软件毁掉
  11. python安装详细步骤mac_Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
  12. mac电池损耗百分比怎么查看
  13. rust木炭有用吗_如何看待 Rust 这门语言?
  14. videos player.php_基于vue-video-player自定义播放器的方法
  15. 怎样实习才能成长最快
  16. 电子发票撤销 java_增值税电子发票作废如何办理?
  17. python安装apk到手机_安卓手机怎么安装APK文件
  18. 解决uniapp手机浏览器视频封面不显示问题
  19. 【902】大恒相机网络配置
  20. MFC对话框设置背景色及透明度

热门文章

  1. [云炬python3玩转机器学习笔记] 1-3课程所使用的主要技术栈
  2. 逻辑回归还能这样解?关于Kernel Logistic Regression的详细解释
  3. linux虚拟机如何加网卡,linux虚拟机添加新的网卡
  4. 运动目标检测_单高斯背景建模
  5. 基于暗通道优先算法的去雾应用Matlab
  6. PIC单片机精通_A/D转换异步串口通讯实例与详解
  7. 我所理解的离散傅里叶变换_DFT
  8. 详解基于 Cortex-M3 的任务调度(下)
  9. TSS详解 ——《x86汇编语言:从实模式到保护模式》读书笔记33
  10. 操作系统(八)进程状态的转换以及进程组织方式