「洛谷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;
}
「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】的更多相关文章
- 「区间DP」「洛谷P1043」数字游戏
「洛谷P1043」数字游戏 日后再写 代码 /*#!/bin/sh dir=$GEDIT_CURRENT_DOCUMENT_DIR name=$GEDIT_CURRENT_DOCUMENT_NAME ...
- 「 洛谷 」P2768 珍珠项链
珍珠项链 题目限制 内存限制:125.00MB 时间限制:1.00s 标准输入输出 题目知识点 动态规划 \(dp\) 矩阵 矩阵乘法 矩阵加速 矩阵快速幂 题目来源 「 洛谷 」P2768 珍珠项链 ...
- 「 洛谷 」P4539 [SCOI2006]zh_tree
小兔的话 推荐 小兔的CSDN [SCOI2006]zh_tree 题目限制 内存限制:250.00MB 时间限制:1.00s 标准输入输出 题目知识点 思维 动态规划 \(dp\) 区间\(dp\) ...
- 「 洛谷 」P2151 [SDOI2009]HH去散步
小兔的话 欢迎大家在评论区留言哦~ HH去散步 题目限制 内存限制:125.00MB 时间限制:1.00s 标准输入 标准输出 题目知识点 动态规划 \(dp\) 矩阵 矩阵乘法 矩阵加速 矩阵快速幂 ...
- 「洛谷P3469」[POI2008]BLO-Blockade 解题报告
P3469[POI2008]LO-Blockade 题意翻译 在Byteotia有n个城镇. 一些城镇之间由无向边连接. 在城镇外没有十字路口,尽管可能有桥,隧道或者高架公路(反正不考虑这些).每两个 ...
- 「P4994」「洛谷11月月赛」 终于结束的起点(枚举
题目背景 终于结束的起点终于写下句点终于我们告别终于我们又回到原点…… 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演.如果这次 NO ...
- Solution -「CTS 2019」「洛谷 P5404」氪金手游
\(\mathcal{Description}\) Link. 有 \(n\) 张卡牌,第 \(i\) 张的权值 \(w_i\in\{1,2,3\}\),且取值为 \(k\) 的概率正比于 \ ...
- 「洛谷4197」「BZOJ3545」peak【线段树合并】
题目链接 [洛谷] [BZOJ]没有权限号嘤嘤嘤.题号:3545 题解 窝不会克鲁斯卡尔重构树怎么办??? 可以离线乱搞. 我们将所有的操作全都存下来. 为了解决小于等于\(x\)的操作,那么我们按照 ...
- 「洛谷3338」「ZJOI2014」力【FFT】
题目链接 [BZOJ] [洛谷] 题解 首先我们需要对这个式子进行化简,否则对着这么大一坨东西只能暴力... \[F_i=\sum_{j<i} \frac{q_iq_j}{(i-j)^2}-\s ...
随机推荐
- Apex 单元测试辅助函数简介
startTest和stopTest的使用 在Apex的Test类中,有startTest和stopTest两个函数.这两个函数经常配对使用. 每个单元测试函数都只能调用它们一次. startTest ...
- GsonFormat插件
GsonFormat插件可以根据JSONObject格式的字符串,自动生成实体类参数. 要使用这个插件,首先要做的事下载它.方法如下: 方法一: 1.Android studio File->S ...
- 测者的性能测试手册:快速安装LoadRunner Linux上的Generator
安装和初始化 安装包 上传Linux.zip(LoadRunner Generator for Linux.zip,后台回复loadrunner获取下载地址),然后通过如下命令: unzip Linu ...
- 前后端分离djangorestframework—— 接入微信模板消息推送
微信 什么是微信也不多说,跟前面的支付宝一样的 微信支付 微信支付也有个沙箱环境,沙箱环境官方文档 由文档中那句很显眼的话所得,即使是测试环境也需要真实的商户号,所以这个就没法想支付宝那样用沙箱账号来 ...
- Python列表之班荆道故
列表list初识 列表是python的基础数据类型之一 ,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: list列表的定义: list_ = []list_1 = [&qu ...
- mysql面试题
01. 列举常见的关系型数据库和非关系型都有那些? 1.关系型数据库通过外键关联来建立表与表之间的关系,---------常见的有:SQLite.Oracle.mysql 2.非关系型数据库通常指数据 ...
- 简单理解Java的反射
反射(reflect): JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功 ...
- 【English】20190418
interested 感兴趣的[ˈɪntrəstɪd] arrange your time 安排自己时间[əˈreɪndʒ] If interested, please arrange your ti ...
- xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH
xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH ...
- 【css3】使用filter属性实现改变svg图标颜色
1.兼容性: 2.应用场景:新增页面上传svg图标后,更改图标颜色后,在列表页面展示色值改后的svg图标. 3.解决方案:使用filter属性中的 drop-shadow,drop-shadow滤镜可 ...