「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】
题目链接
【洛谷传送门】
题解
很显然,当这个点不是割点的时候,答案是\(2*(n-1)\)
如果这个点是割点,那么答案就是两两被分开的联通分量之间求组合数。
代码
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 500005;
struct edge {int to, nt;
} E[N << 1];
int dfn[N], low[N], H[N], sz[N];
int cnt, ecnt, n, m, __dfn;
ll ans[N];
void add_edge(int u, int v) {E[++ ecnt] = (edge){v, H[u]}; H[u] = ecnt;
}
void tarjan(int u) {dfn[u] = low[u] = ++ __dfn; int cnt = 0; sz[u] = 1; for (int e = H[u]; e; e = E[e].nt) {int v = E[e].to; if (!dfn[v]) {tarjan(v); sz[u] += sz[v]; low[u] = min(low[u], low[v]); if (low[v] >= dfn[u]) {cnt += sz[v];ans[u] += 2ll * sz[v] * (n - cnt - 1);}} else low[u] = min(low[u], dfn[v]); }ans[u] += 2ll * (n - 1);
}
int main() {cin >> n >> m;for (int i = 1, u, v; i <= m; i ++) {scanf("%d%d", &u, &v); add_edge(u, v); add_edge(v, u);}tarjan(1); for (int i = 1; i <= n; i ++) printf("%lld\n", ans[i]);return 0;
}
转载于:https://www.cnblogs.com/chhokmah/p/10746320.html
「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】相关推荐
- 【洛谷T580】【模板】template 鸡腿 tarjan找割点
模板题. 代码: #include<cstdio> #include<iostream> #include<cstring> #include<algorit ...
- 「洛谷P3469」[POI2008]BLO-Blockade 解题报告
P3469[POI2008]LO-Blockade 题意翻译 在Byteotia有n个城镇. 一些城镇之间由无向边连接. 在城镇外没有十字路口,尽管可能有桥,隧道或者高架公路(反正不考虑这些).每两个 ...
- 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心
题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi,地面的高度是 h_0 = 0 ...
- 洛谷 3784(bzoj 4913) [SDOI2017]遗忘的集合——多项式求ln+MTT
题目:https://www.luogu.org/problemnew/show/P3784 https://www.lydsy.com/JudgeOnline/problem.php?id=4913 ...
- SSL 2344 洛谷 2835 信息学奥赛一本通 1383 刻录光盘#floyd,tarjan,kosaraju#
洛谷请关掉优化 题目 求有多少个连通块 分析 floyd+并查集 floyd代码 #include <cstdio> #include <cctype> #include &l ...
- bzoj 1123: [POI2008]BLO(Trajan求割点)
1123: [POI2008]BLO Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1468 Solved: 678 [Submit][Statu ...
- 「洛谷P1343」地震逃生 解题报告
P1343 地震逃生 题目描述 汶川地震发生时,四川XX中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带, ...
- 「洛谷2495」「BZOJ3052」「SDOI2001」消耗战【虚树+树形动态规划】
题目大意 给你\(k\)个点,让这一些点和一号节点断开,删去某一些边,求最小的删去边权之和. 做题的心路历程 做了\(HG\)昨天的模拟赛,深深感觉到了窝的菜,所以为了\(A\)掉T1这一道毒瘤,窝就 ...
- 「洛谷P2397」 yyy loves Maths VI (mode) 解题报告
P2397 yyy loves Maths VI (mode) 题目背景 自动上次redbag用加法好好的刁难过了yyy同学以后,yyy十分愤怒.他还击给了redbag一题,但是这题他惊讶的发现自己居 ...
- 「洛谷」P1406 方格填数
P1406 方格填数 https://www.luogu.com.cn/problem/P1406 题目描述 给一个n 的方格矩阵,还有 n*n个整数,让你将这些整数填入矩阵,使得每行每列每个对角线上 ...
最新文章
- [实现] 利用 Seq2Seq 预测句子后续字词 (Pytorch)
- Cocos2d-x3.0 TestCPP文件夹笔记
- 洛谷:P3950 部落冲突
- 深度学习数学基础(三): 激活函数、正则化函数、损失函数、评价指标
- python delete_python 使用 delete 方法时报错,可以正常删除
- 系列(五)—MySql
- 个人计算机的组成及相关功能,计算机的组成部分及功能(范文).doc
- laravel-admin grid中使用的switch必须form中同时具有switch才能生效的解决方案
- AMD宣布350亿美元收购赛灵思,CPU、GPU、FPGA全凑齐
- CCF202109-1 数组推导
- 深度linux添加xp,Linux和Windos XP下向路由表添加路由
- ubuntu服务器修改保存文件,Ubuntu Server 如何永久保存iptables的设置?
- 浅谈一次QQ被盗取(攻击)事件
- Linux下的围棋软件,在Linux下和电脑下围棋
- 年底裁员潮,这个冬天你怎样度过?
- Cocos2d-x 3.2 lua飞机大战开发实例(三)道具的掉落,碰撞检测,声音,分数,爆炸效果,完善游戏的功能细节
- 视频号账号定位怎么做?如何做微信视频号定位
- 工业自动化数据采集方案
- MATLAB2018a 64安装
- NFT带给我们普通人的机遇是什么?