bzoj1123 Blockade】的更多相关文章

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先缩点.但是后来…
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 [题前话] 这题真的害人不浅啊! 本蒟蒻怀着做板子题1A…
1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 970  Solved: 408[Submit][Status][Discuss] Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通. Input 输入n<=100000 m<=500000及m条边 Output 输出n个数,代表如果把第…
1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 614  Solved: 235[Submit][Status] Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通. Input 输入n<=100000 m<=500000及m条边 Output 输出n个数,代表如果把第i个点去掉,将有多…
Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通. Input 输入n<=100000 m<=500000及m条边 Output 输出n个数,代表如果把第i个点去掉,将有多少对点不能互通. Solution 求割顶的一系列操作不仅可以用来求割顶,也可以解决很多问题,比如这道题. dfs是很神奇的,对于节点u能扩展出去的v的子树是互相独立的,反向边也只会往上连. 那么对于…
Description Byteotia城市有n个 towns, m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通. Input 输入n和m.( n<=100000 ,m<=500000 ) Output 输出n个数,其中第i个整数表示把与节点i关联的所有边去掉之后(不去掉节点i本身),无向图中有多少个有序点对(x,y),满足x和y不连通. Sample Input 5 5 1 2 2 3 1 3 3 4 4 5 Sample Ou…
无向图中,求去掉点x[1,n]后每个联通块的大小. 考虑tarjan求bcc的dfs树,对于每个点u及其儿子v,若low[v]<prv[u],则v对u的父亲联通块有贡献,否则对u的子树有贡献.每个节点记录siz[u]表示u子树内的贡献.…
删掉无向图上任意一点,请求出将会增加的不连通的点对数 将无向图联通性的问题转化到搜索树方向上考虑 如果一个点不是割点,那么删掉该点的答案很简单,就是2*(n-1) 如果点u是割点,同时u在搜索树上有t个子节点,那么删掉u点后就会出现t+2个联通分量 1.t个包含不同子节点的联通分量:每个子节点联通分量的贡献是size[son]*(n-size[son]) 2.结点u:u的贡献是(n-1) 3.剩下部分,即u子树除外其他的点形成的联通分量:这部分的贡献是n-1-sum{size[son]} 在ta…
BZOJ原题链接 洛谷原题链接 若第\(i\)个点不是割点,那么只有这个点单独形成一个连通块,其它点依旧连通,则答案为\(2\times (n-1)\). 若第\(i\)个点是割点,那么去掉这个点相关的边就会形成\(3\)种构成的连通块: 由点\(i\)本身构成. 由点\(i\)的子树(搜索树中)形成若干个连通块. 由除点\(i\)及其子树的所有其它点构成一个连通块. 于是我们可以在用\(tarjan\)找割点的过程中计算搜索树中每棵子树的大小,并统计答案即可. #include<cstdio>…
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 Solution 题意不清楚.点对(x,y)!=(y,x…