1013 Battle Over Cities (25分)(用割点做)
仅以此题纪念脑瘫的我。好吧看见1000的范围没有多想什么,直接跑了一遍tarjan,md其实暴力就可以。。。乌鱼子
题解:
tarjan记录割点能把图分成几个。
tarjan可以适用于1e5数量级别的图。
1.有可能开始的图就没完全连起来
2.注意处理根节点
/*Keep on going Never give up*/
#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
const int maxn=1e3+10;vector<int> edge[maxn];
int num[maxn],visited[maxn],low[maxn],sum[maxn];
int cnt,n,xxx,root;void tarjan(int x,int fa){num[x]=low[x]=++cnt;int kid=0;visited[x]=true;for(auto i:edge[x]){if(!num[i]){kid++;tarjan(i,x);low[x]=min(low[x],low[i]);if(low[i]>=num[x]){ //割点 >割边sum[x]++; //记录个数}}else if(num[i]<num[x]&&i!=fa) low[x]=min(low[x],num[i]);}
}void sol(){memset(visited,false,sizeof visited);for(int i=1;i<=n;i++){ //if(!visited[i]){tarjan(i,-1);xxx++;sum[i]--; //根节点特殊处理}}
}signed main() {ios::sync_with_stdio(false);cin.tie(nullptr);int m,k;cin>>n>>m>>k;for(int i=0;i<m;i++){int x,y;cin>>x>>y;edge[x].push_back(y);edge[y].push_back(x);}sol();for(int i=0;i<k;i++){int x;cin>>x;cout<<sum[x]+xxx-1<<endl;}return 0;
}
1013 Battle Over Cities (25分)(用割点做)相关推荐
- 【解析】1013 Battle Over Cities (25 分)_31行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 It is vitally important to have all the cities connected by highw ...
- 1013 Battle Over Cities (25 分) 【难度: 中 / 知识点: 连通块】
https://pintia.cn/problem-sets/994805342720868352/problems/994805500414115840 将这些连通块,连接起来最少的边,即是答案. ...
- PAT (Advanced Level) Practise 1013. Battle Over Cities (25)
1013. Battle Over Cities (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ...
- 1013. Battle Over Cities (25) 连通图
1013. Battle Over Cities (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ...
- 【PAT甲级 - 1013】Battle Over Cities (25分)(并查集)
题干: It is vitally important to have all the cities connected by highways in a war. If a city is occu ...
- 1013 Battle Over Cities(并查集解法)
关于背景的介绍见1013 Battle Over Cities(图的DFS解法) DFS就是不算特定结点后数连通子图的总数,再减一.我想着那么并查集就是数不算特定节点后,集合元素(根)的个数.但是我弄 ...
- PAT甲级1013 Battle Over Cities:[C++题解]并查集、结构体存边
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:并查集题目. 不清楚并查集的小伙伴,请移步并查集原理并查集板子:acwing836. 合并集合. 题意:给定一个连通图,当删掉任意1个 ...
- PAT1013. Battle Over Cities (25)
题目如下: It is vitally important to have all the cities connected by highways in a war. If a city is oc ...
- PAT甲级A1013. Battle Over Cities (25)
题目描述 It is vitally important to have all the cities connected by highways in a war. If a city is occ ...
最新文章
- IROS2021 | F-LOAM : Fast LiDAR Odometry and Mapping 解析
- java url 生成图片_JAVA 通过URL生成水印图
- 【软件工程-Teamwork 3】团队角色分配和团队贡献分分配规则
- ios编译与android编译区别是什么,为iOS和Android编译C ++代码(XCode)。 这是真的吗?...
- 算法竞赛入门经典(第二版) | 程序3-10 生成元 (UVa1584,Circular Sequence)
- Another approach to enable table edit in SE16
- java接口课程_用java定义一个接口,用于查询课程
- win10电脑桌面透明便签_win10系统在桌面添加透明便签的图文技巧
- 山东大学高频电子线路实验一 高频小信号放大实验详解
- windows自带的使用键盘代替鼠标操作问题._百度知道
- ssm 权限管理系统+nice--v1.02.exe代码生成器
- 为什么压缩图片和压缩
- java foxpro,在Visual FoxPro中更新顶部
- http_code解释
- Ubuntu18.04 安装NVIDIA英伟达驱动教程
- [IOT] 自制蓝牙工牌办公室定位系统 (一)—— 阿里物联网平台概览及打通端到云(硬核·干货)...
- 关于音效合成APP鸡乐盒4.0
- STM32 I2C驱动0.96寸OLED屏
- 语音唤醒技术的原理是什么?
- 北航2022计算机软件基础期末C++复(预)习