• CF1242B 0-1 MST

1.CF1242B 0-1 MST

求补图中联通块个数

先找到原图中度数最小的点,该点在补图中度数最大,标记原图中与其相连的所有点,补图中所有的点都与其相连

暴力遍历每个点,若已经与度最小的点相连或者为该点则跳过,标记与该点相连的所有点,与未标记的所有点相连

边数最多只有10510^5105条,复杂度并不会很大

#include<bits/stdc++.h>
#define int long long
using namespace std;
constexpr int maxn=2e5+5,inf=0x3f3f3f3f;
int n,m,k,t,cnt,tt;
int f[maxn],vis[maxn],v[maxn],size[maxn],du[maxn];
vector<int>e[maxn];
inline void add(int u,int v){e[u].push_back(v);
}
int find(int x){if(f[x]==x)return x;else return f[x]=find(f[x]);
}
inline void hb(int x,int y){f[find(x)]=find(y);
}
set<pair<int,int>>st;
signed main(){cin>>n>>m;int mm=inf;int id;for(int i=1;i<=m;i++){int u,v;cin>>u>>v;add(u,v);add(v,u);du[u]++,du[v]++;}for(int i=1;i<=n;i++){if(du[i]<mm){mm=du[i];id=i;}f[i]=i;}for(auto x:e[id]){vis[x]=1;}for(int i=1;i<=n;i++){if(!vis[i]){hb(i,id);}}int tim=1;for(int i=1;i<=n;i++){if(!vis[i]||i==id)continue;tim++;memset(v,0,sizeof v);for(auto x:e[i]){v[x]=1;}for(int j=1;j<=n;j++){if(!v[j]){hb(i,j);}}}for(int i=1;i<=n;i++){if(f[i]==i){cnt++;}size[find(i)]++;}for(int i=1;i<=n;i++){if(f[i]==i){st.insert({size[i],i});}}cout<<cnt-1<<endl;/*for(auto x:st){cout<<x.first<<" ";}*/return 0;
}

简单记录 Part1.3相关推荐

  1. python 绘图脚本系列简单记录

    简单记录平时画图用到的python 便捷小脚本 1. 从单个文件输入 绘制坐标系图 #!/usr/bin/python # coding: utf-8 import matplotlib.pyplot ...

  2. ubuntu bind9 配置简单记录

    ubuntu bind9 配置简单记录 ubuntu版本:Ubuntu 12.04.2 bind9安装:apt-get install bind9 bind9配置文件目录:/etc/bind bind ...

  3. 简单记录一下fabric版本1.4的环境搭建,

    简单记录一下fabric版本1.4的环境搭建,运行环境为Ubuntu18.04,其中一些内容是根据官方文档整理的,如有错误欢迎批评指正. 本文只介绍最简单的环境搭建方法,具体的环境搭建解析在这里深入解 ...

  4. oracle 9i 手工建库,简单记录Oracle 9i数据库手工建库过程

    简单记录Oracle 9i数据库手工建库过程Oracle 9i手工建库 By Oracle老菜 今天客户要用oracle 9.2.0.5,aix 6.1已经不支持了,只好从别的数据库把软件拷贝过来重编 ...

  5. mysql signal函数_MySQL:简单记录信号处理

    码版本:5.7.29 简单记录信号如何生效的.poll收到信号后如何中断后如何处理的,需要确认. --- ###一 初始化信号处理方式,设置信号的处理的处理方式,屏蔽某些信号,并且继承到子线程(pth ...

  6. 简单记录双系统安装Ububtu22.04

    简单记录双系统安装Ububtu22.04 tag: #Linux #Ubuntu 双系统安装Ububtu22.04 设备:R9000P 2021 系统:win11 + ubuntu22.04 1.制作 ...

  7. 关于majaro安装后的配置,简单记录 机型华硕FZ53v

    关于majaro安装后的配置,简单记录 机型华硕FZ53v 关于majaro安装后的配置,简单记录 机型华硕FZ53v 关于majaro安装后的配置,简单记录 机型华硕FZ53v ##关于v2ray配 ...

  8. 简单记录下几家公司的面试经历(Java一年经验)

    一年经验,记录下最近几家公司的面试经历. 1.深圳缇铭科技有限公司 1)先让自我介绍,讲一下最近的项目 根据项目提问,比如: redis你是如何部署的?你的code是直接套用他们的模板去编写,还是自己 ...

  9. git版本回退简单记录

    简单记录git版本回退的命令,参考的是这篇文章1 首先查看以前存档的版本: git log 1. 知道要回退的版本和现在的版本差了多少代 回退上一代版本(1个以前) git reset –hard H ...

  10. SpringBoot学习之路---简单记录整合SpringSecurity实现登录认证授权

    基本上每一个项目都会有用户登录的这个功能,用户需要在登录之后才能够去访问一些资源,如果没登录的话就不能访问(403).我们可以自己编码去实现这样的业务逻辑,当然每一次都自己去编码是比较耗时的,毕竟市面 ...

最新文章

  1. 九度OJ 1434 今年暑假不AC
  2. vscode打开一个文件就会关闭一个文件
  3. 个人博客开发系列:前台博客页面开发部署完成
  4. 机器学习-决策树(XGBoost、LightGBM)
  5. spark、hive、impala、hbase、gbase在结构化数据方面查询原理对比(含parquet/orc)
  6. echarts实现半圆饼图
  7. SG平滑轨迹算法的原理和实现
  8. 杭州云栖大会“弹性计算用户实践专场”等你来
  9. nividia retinanet使用笔记
  10. (45.5)【API接口漏洞】API接口之Web Service测试工具Soap UI PRO、SOAPSonar、Burp Suite、WSSAT、WS-Attacker
  11. jupyter notebook不显示table of contents
  12. 地图配色及网络地图比较
  13. 超级计算机的内部图,中科院首次获得了宇宙中全尺度暗晕内部结构的清晰图像...
  14. c语音删除字符数组中的元素
  15. 【PTA】【C语言】求闰年数
  16. JavaScript基础 - 24 (数组方法:every、some、forEach、map、filter、reduce)
  17. 基础C语言代码(10题)
  18. 基于C#的全国天气查询API调用代码实例
  19. 计算机网络笔记--1 计算机网络与网络应用(上)
  20. Prometheus+Grafana+Alertmanager搭建全方位的监控告警系统-超详细文档

热门文章

  1. 单招面试计算机专业技巧,单招面试技巧 单招好不好
  2. mysql outfile 权限_MYSQL解决select ... into outfile '..' mysql写文件权限问题 Can't create/write to file...
  3. pcie总线频率和带宽_从1.0到6.0的飞跃之路,PCIe总线技术发展解析
  4. 网站服务器和空间大小,网站服务器和空间大小
  5. mysql dump 拒绝访问_Delphi开发的数据库程序在C:\PDOXUSRS.NET生成文件,拒绝访问及读写权限...
  6. yolo迭代次数_你一定从未看过如此通俗易懂的YOLO系列(从v1到v5)模型解读 (中)
  7. java foreach 赋值_java foreach 使用
  8. 【CF585-div2:D】Ticket Game(博弈)
  9. 用Neo4j图形数据库打造专属于你的高bigger关系图
  10. python中文编码(汉字乱码问题解决方案)