当前位置: 首页 > news >正文

做网站写代码怎么样上海松江区建设局官方网站

做网站写代码怎么样,上海松江区建设局官方网站,沧州网络科技有限公司,东莞整站优化推广公司找火速K LilaS的特殊图判断 - 第七届校赛正式赛 —— 补题 题目大意: 给定一个无向图,图中有 N N N 个顶点,编号为 1 − N 1-N 1−N , M M M 条边,编号为 1 − M 1-M 1−M 。第 i i i 条边连接顶点 u i u_i ui​ 和 v…

K LilaS的特殊图判断 - 第七届校赛正式赛 —— 补题

题目大意:

给定一个无向图,图中有 N N N 个顶点,编号为 1 − N 1-N 1N M M M 条边,编号为 1 − M 1-M 1M 。第 i i i 条边连接顶点 u i u_i ui v i v_i vi 。存在重边和自环。

有没有一种算法能快速判断该无向图中的每个连通部分是否满足:连通部分的顶点和边的数量相同

如果该图中每个连通部分都满足条件,则输出 Yes;否则,输出 No

1 < = N < = 2 ∗ 1 0 5 1<=N<=2*10^5 1<=N<=2105

0 < = M < = 2 ∗ 1 0 5 0<=M<=2*10^5 0<=M<=2105

1 < = u i < = v i < = N 1<=u_i<=v_i<=N 1<=ui<=vi<=N

思路:

考虑并查集,维护祖先节点中 顶点个数 和 边的个数

int fa[N],sz[N],ver[N];fa[i]=i,sz[i]=1,ver[i]=0;int u,v;
u=find(u),v=find(v);
如果祖先节点相同,那么点的个数不用增加,考虑给祖先节点多加一条边if(u==v){ver[u]++;}
如果祖先节点不相同,那么将这两个连通块合并,随便找一个节点为祖宗节点即可else{fa[v]=u;sz[u]+=sz[v];ver[u]+=ver[v]+1;//这条边}

代码:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
#define PII pair<int,int>
#define lowbit(x) x&-x
#define ALL(x) x.begin(),x.end()const int mod = 1e9 + 7;
const int N = 2e5 + 10;int fa[N],sz[N],ver[N];
int n,m;
int find(int x){if(x==fa[x]) return x;return fa[x]=find(fa[x]);
}void solve() {cin>>n>>m;for(int i=1;i<=n;i++){fa[i]=i;sz[i]=1;ver[i]=0;}for(int i=1;i<=m;i++){int u,v;cin>>u>>v;u=find(u),v=find(v);if(u==v){ver[u]++;continue;}if(u!=v){fa[v]=u;sz[u]+=sz[v];ver[u]+=ver[v]+1;}else{ver[u]++;}}//	cout<<'\n';for(int i=1;i<=n;i++){int u=find(i);
//		cout<<sz[u]<<" "<<ver[u]<<'\n';if(sz[u]!=ver[u]){cout<<"No\n";return ;}}cout<<"Yes\n";
}signed main() {std::ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int T = 1;
//	cin >> T;while (T--) {solve();}return 0;
}
http://www.dtcms.com/a/550650.html

相关文章:

  • 滑动窗口算法专题+题目详解
  • 数据中心双供电架构中的智能化切换与预警管理
  • 网站图片怎么做优化济南网络营销网站建设
  • 各种各样的Self-attention学习下(第二十一周周报)
  • 网站前台功能模块介绍郑州网站建设一汉狮网络
  • 网站开发服务 税社交系统开发
  • 简单聊一下vue中的#app
  • 网站空间支持下载但不能下载文件简单门户网站开发
  • 厦门市小学生信息学竞赛(C++)初赛总复习(第二章 算法知识与数据结构 -第四节 队列)
  • 化工类网站建设推广网站备案后下一步做什么
  • 做网站一般需要哪些文件夹?兰州网站开发公司
  • 获取 Excel 工作表的名字【Java 图文详解】
  • 邢台专业做网站贝斯特专业网站
  • 惠州网站建设公司上海企业宣传片制作
  • 网站 建设文档提供邢台专业做网站
  • Gradle Groovy 和 Kotlin kts 语法对比
  • 做网站维护有什么要求物联网开发软件有哪些
  • 普陀做网站特色的岑溪网站开发
  • 对重庆电子政务网站建设评价wordpress模板里写php
  • 企业网站的网络营销功能包括还没做域名解析如何访问ftp的网站文件
  • 免费开网站自己家的电脑做网站需要备案没
  • 心理咨询网站后台学设计常用的网站
  • 安卓开发学习10-中级控件
  • 公司网站升级改版方案wordpress 一级目录
  • Rust 日志级别与结构化日志:从调试到生产的日志策略
  • 建英文网站有用吗自动外链发布工具
  • 从BSP到DFP和RTOS---专业的嵌入式开发工具Keil备忘
  • 【SpringBoot从初学者到专家的成长25】认识SpringBoot中的Spring Expression Language (SpEL)
  • IntelliJ IDEA配置Tomcat教程
  • 北京做网站建设的公司排名网页qq登陆保护在哪里