图论new

news/2025/10/5 10:46:20/文章来源:https://www.cnblogs.com/-114514/p/19126355

边双连通分量

#include<bits/stdc++.h>
using namespace std;
const int N = 5e5+5;
int n, m, cnt, ans, dfn[N], low[N]; //dfn记录dfs序,low表示这个点除树边外能连到最浅 
vector<int> mp[N], mp2[N];
vector<int> s;
void shuru() {int u, v;cin >> n >> m;for(int i = 1; i <= m; i++){cin >> u >> v;mp[u].push_back(v);mp[v].push_back(u);}
}
void dfs(int u, int f){dfn[u] = low[u] = ++cnt; //记录dfs序并初始化low int cnt = 0; //用来判重边 s.push_back(u);for(auto v : mp[u]){if(v == f && !cnt){cnt = 1; continue;	}if(!dfn[v]) dfs(v, u);low[u] = min(low[u], low[v]);//更新low }if(low[u] == dfn[u]){//把在一个连通分量的点染成一个颜色++ans; //增加一个连通分量 while(1) {int x = s.back();s.pop_back();mp2[ans].push_back(x);if(x == u) break; }		}
}
void shuchu(){cout << ans << endl;for(int i = 1; i <= ans; i++){cout << mp2[i].size() << " ";for(auto x : mp2[i]) cout << x << " ";cout << endl;}
}
int main(){shuru();for(int i = 1; i <= n; i++){if(dfn[i]) continue;dfs(i,i);}shuchu();return 0;
}

割点

#include<bits/stdc++.h>
using namespace std;
const int N = 2e4+5;
int n, m, cnt, tot, dfn[N], low[N], g[N];
vector<int> mp[N], v;
vector<int> s;
void shuru(){int u, v;cin >> n >> m;for(int i = 1; i <= m; i++){cin >> u >> v;if(u == v) continue; //特判自环 mp[u].push_back(v);mp[v].push_back(u);}
}
void dfs(int u, int f){dfn[u] = low[u] = ++cnt;for(auto v : mp[u]){if(v == f) continue;if(!dfn[v]){dfs(v, u);low[u] = min(low[u], low[v]);if(low[v] >= dfn[u]) g[u]++; //如果儿子的low比父亲还深,说明父亲是一个割点	}else low[u] = min(low[u], dfn[v]); //如果不是树边,就不会吃v==f的判断,用dfn判才不会影响判割点 }
}
int main(){shuru();for(int i = 1; i <= n; i++){if(dfn[i]) continue;dfs(i,i);g[i]--;//特判根节点 }for(int i = 1; i <= n; i++){if(g[i] > 0) v.push_back(i);}cout << v.size() << endl;for(auto x : v) cout << x << " ";return 0;
} 

点双连通分量

#include<bits/stdc++.h>
using namespace std;
const int N = 5e5+5;
int n, m, cnt, ans, dfn[N], low[N];
vector<int> mp[N], mp2[N];
vector<int> s;
void shuru(){int u, v;cin >> n >> m;for(int i = 1; i <= m; i++){cin >> u >> v;if(u == v) continue;mp[u].push_back(v);mp[v].push_back(u);}
}
void dfs(int u, int f){ //本质就是找割点 if(u == f && mp[u].empty()) { //一个点也是点双连通分量,要特判 ++ans;mp2[ans].push_back(u);}dfn[u] = low[u] = ++cnt;s.push_back(u);for(auto v : mp[u]){if(v == f) continue;if(!dfn[v]){dfs(v, u);low[u] = min(low[u], low[v]);if(low[v] >= dfn[u]){ //类似于边双连通,用栈维护 ++ans;while(1){int x = s.back(); s.pop_back();mp2[ans].push_back(x);if(x == v) break; }mp2[ans].push_back(u); //要把割点本身放进去 }}else low[u] = min(low[u], dfn[v]); //类似割点特判 }
}
void shuchu(){cout << ans << endl;for(int i = 1; i <= ans; i++){cout << mp2[i].size() << " ";for(auto x : mp2[i]) cout << x << " ";cout << endl;}
}
int main(){shuru();for(int i = 1; i <= n; i++){if(dfn[i]) continue;dfs(i,i);}shuchu();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025夹丝玻璃厂家最新企业品牌推荐排行榜,艺术夹丝玻璃,淋浴房夹丝玻璃,极简门夹丝玻璃,金属夹丝玻璃公司推荐!

在夹丝玻璃行业快速发展的当下,市场上的源头厂家数量不断增多,然而行业也面临着诸多问题。一方面,部分厂家缺乏核心技术,生产的夹丝玻璃在安全性、耐用性等方面难以满足市场需求,产品质量参差不齐;另一方面,一些…

斜率优化dp复习笔记

$$ f_j+sum_isum_j-sum_j^2>f_l+sum_isum_l-sum_l^2 \Rightarrow \frac{(f_j-sum_j^2)-(sum_l-sum_l^2)}{-sum_j-(-sum_l)}>sum_i $$那么点集就是 $(-sum_x,f_x-sum_x^2)$。那么对于当前点 $i$,所有斜率 $\leq …

掌握形式验证,护航芯片安全

在 IC 设计的世界里,任何一个微小错误都可能引发重大后果。形式验证(Formal Verification),以其数学证明的方式,成为确保设计可靠性与安全性的强大盾牌。 核心基础与优势解析 1、精准规范,明确预期行为 一切始于…

STL-list - 实践

STL-list - 实践2025-10-05 10:35 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

2025橡胶软接头厂家最新企业品牌推荐排行榜,法兰橡胶软接头,可曲挠,挠性,KXT,耐油,EPDM,耐腐蚀,三元乙丙橡胶软接头,橡胶柔性软接头公司推荐!

在橡胶软接头行业,质量管控与服务体系的缺失已成为制约产业升级的关键瓶颈。具体表现为: 产品质量两极分化:部分企业为压缩成本,违规采用再生胶、回收料等劣质原料,导致产品出现密封性失效、老化周期缩短等问题,…

整体二分笔记

整体二分 本来感觉挺神秘的一个东西, 学完了似乎没有多难, 放几个板子随便写写吧(今天数学不想做题) 从最最最最人尽皆知的区间第 \(k\) 大问题开始吧 引入 如果我想问你一个序列中的区间的第 \(k\) 大,你会如何?…

如何自做自己的网站网络设计开题报告

抽象节点这个特性自小程序基础库版本 1.9.6 开始支持。在组件中使用抽象节点有时&#xff0c;自定义组件模板中的一些节点&#xff0c;其对应的自定义组件不是由自定义组件本身确定的&#xff0c;而是自定义组件的调用者确定的。这时可以把这个节点声明为“抽象节点”。例如&am…

有什么网站可以做投票邯郸菜鸟网站建设

OD统一考试 题解&#xff1a; Java / Python / C 题目描述 一根X米长的树木&#xff0c;伐木工切割成不同长度的木材后进行交易&#xff0c;交易价格为每根木头长度的乘积。规定切割后的每根木头长度都为正整数,也可以不切割&#xff0c;直接拿整根树木进行交易。请问伐木工如…

响应网官方网站网站界面风格设计

1. 今日摸鱼计划 今天来学习一下ADC的原理&#xff0c;然后把ADC给实现 ADC芯片:ADC128S102 视频&#xff1a; 18A_基于SPI接口的ADC芯片功能和接口时序介绍_哔哩哔哩_bilibili 18B_使用线性序列机思路分析SPI接口的ADC芯片接口时序_哔哩哔哩_bilibili 18C_基于线性序列机的S…

量化投资 —— 实践

量化投资 —— 实践地址: https://item.taobao.com/item.htm?id=898078161839&mi_id=0000bSMU6-qva9mG_nEYyyLOcfGeJ5-tgwvwKtjY8IHE980&pvid=4580fb7a-c699-4f97-a5c0-8c810fa24035&scm=1007.40986.449…

详细介绍:性能优化 - 案例篇:缓存_Guava#LoadingCache设计

详细介绍:性能优化 - 案例篇:缓存_Guava#LoadingCache设计pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

2025年X射线管厂家最新企业品牌推荐排行榜,工业用金属陶瓷,波长色散荧光分析,应力衍射分析,管板角焊缝,轮胎检测,辐照,固定阳极波纹陶瓷,测厚,食品检测 X 射线管公司推荐

在工业无损检测领域,X 射线管作为核心元件,其质量与性能直接影响检测结果的准确性和可靠性,对国防、石油、电力、汽车零部件等关键行业的发展至关重要。当前,市场上 X 射线管厂家数量众多,产品质量参差不齐,部分…

AtCoder Beginner Contest 400

AT_abc400_d [ABC400D] Takahashi the Wall Breaker 一次踢两步也转移一下,直接搜 E - Ringos Favorite Numbers 3

网站托管服务方案网站建设办公软件销售技巧

目录 1、进程的虚拟内存分区与小于0x10000的小地址内存区 1.1、进程的虚拟内存分区 1.2、小于0x10000的小地址内存区 2、保存线程上下文的CONTEXT结构体 3、从汇编代码角度去理解多线程运行过程的典型实例 4、调用TerminateThread强制结束线程会导致线程中的资源没有释放…

2025 年北京档案存放公司 升职猫档案服务平台:16 年老牌机构的合规服务与高效解决方案解析

档案管理作为衔接个人发展与社会管理的关键环节,其规范性与便捷性直接影响考公、考研、落户、评职称等重要人生节点。随着 2025 年档案管理服务市场规模迈向 2000 亿元,数字化转型与异地办事需求持续升温,政策推动下…

设计一个企业网站大概多少钱创新的南昌网站制作

一、结构体 结构体(struct)可以理解为用户自定义的特殊的复合的“数据类型”&#xff1b; 1. 结构体变量的定义和初始化 定义结构体变量的方式&#xff1a; 先声明结构体类型再定义变量名 在声明类型的同时定义变量 // 结构体类型的定义 struct stu {char name[50];int age;…

完整教程:⼤模型驱动的DeepInsight Copilot在蚂蚁的技术实践

完整教程:⼤模型驱动的DeepInsight Copilot在蚂蚁的技术实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

没有网站可以做百度直通车吗自己主机做网站服务器吗

0x01 产品简介 企语iFair协同管理系统是一款专业的协同办公软件,该管理系统兼容性强,适合多种企业类型。该软件永久免费,绿色安全,无需收取费用即可使用所有功能。企语iFair协同管理系统同时兼容了Linux、Windows两种操作系统 0x02 漏洞概述 企语iFair协同管理系统getup…

[免费]微信小代码网上花店系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025电容厂家最新品牌推荐排行榜白皮书,固态,高压,牛角,安规,CBB,超级,红宝石电解,螺栓,超级电容推荐这十家公司!

在科技迭代日新月异的当下,电容作为电子设备的核心基础元件,其性能品质直接决定了终端产品的运行稳定性、使用寿命与功能上限。无论是消费电子领域的智能手机、笔记本电脑,工业场景中的医疗设备、智能工控系统,还是…