tarjan + DP_tree <战争游戏>
来源:互联网 发布:图书在版编目数据 编辑:程序博客网 时间:2024/05/17 22:16
3896. 【NOIP2014模拟10.26】战争游戏 (Standard IO)
Time Limits: 1000 ms Memory Limits: 262144 KB
题目大意
n个点,m条无向边连成一个连通图。求对于任一点i,若把i删除,有多少点对无法互相到达。
Input
第一行n,m
2....m+1行,每行u v,表示u,v有一条边相连
Output
n行,第i行表示若将i删除,有多少点对不连通(包括i)
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
n<=50000;m<=100000
解法::
tarjan+树形dp
缩点双联通分量,然后在树上计算。
实际上可以在 tarjn 的时候顺便处理,要注意 i 是割点不代表删了 i, 的子孙跟父亲都
断了(具体见 game1.cp)。
考虑点与点之间必须经过的只有割点,如果在同一个点双联通分量中的话,则没有必
经的点,那么我们只需要把所有的点双联通分量缩点,之后形成一棵树的结构,在树上计算
经过每个点的点对数量,dp解决。
让我介绍下tarjan求割点吧
选任一点dfs,设dfn[i]为点i的遍历序号
low[i]为不通过i的父节点可以追溯到的序号最小的节点。
显然low[i]=min(dfn[i],low[j]) && j!=i_father&&connect[i][j]=1
对于点u,v
if(dfn[u]<=low[v])
u为割点。
dp很简单详见程序
0 0
- tarjan + DP_tree <战争游戏>
- 战争不等于游戏
- 游戏中的战争迷雾
- 游戏中的战争迷雾
- 游戏中的战争迷雾
- 游戏开发,丛林战争3
- 魔兽争霸RPG游戏-军团战争-游戏经验总结
- 【COCOS2DX-游戏开发之十三】战争雾
- 喵星战争(一):游戏简介
- 游戏浅谈4-部落战争(COC)
- cocos2dx 游戏当中的战争迷雾
- 游戏开发-丛林战争制作2
- 战争
- 战争
- 战争
- 战争
- 《宇宙战争》游戏开发总结(雷电游戏)
- bzoj2438 杀人游戏 Tarjan强联通分量
- JDBC编程之creatstatement()的用法
- 国产操作系统——中科方德桌面操作系统
- PHP OAuth2.0 Server 搭建
- Linux常用命令总结
- JavaScript与HTML交互——事件
- tarjan + DP_tree <战争游戏>
- WinDBG 用法详解(5)- 建立调试会话 .
- poj3356 AGTC(经典DP最小编辑距离)
- java标识符
- Android的16进制颜色值
- 使用Windbg知道程序运行时的命令行参数.
- strcpy函数的最优实现方法
- LeetCode Remove Duplicates from Sorted List
- 2014-11-8Android学习-------onFinishInflate方法-------动画Animation学习篇