启发式合并 [USACO22DEC] Making Friends P

题意

\(N\)\(M\) 关系,按照编号从小到大,牛依次离开,每一头牛离开时它认识的牛会互相认识,求最后新增了多少朋友关系。

\(N,M\le 2\times 10^5\)

解法

我们将操作看成每个点边集合的合并,尝试使用启发式合并解决问题。

但是直接做又发现没有办法搞,因为我们会算重很多,于是我们选择仅仅连一条边,从编号小到编号大。

这个样子我们并不会错过什么,因为边集的合并是从小节点开始的,我们贪心选择相连的最小节点合并一定是不劣的,所以就做完了,复杂度就是标准的启发式合并。

代码↓

点击查看代码
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int MN=1e6+116;
int n, m, ans=0; set <int> G[MN];
signed main(){ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cin>>n>>m; ans=-m;for(int i=1; i<=m; ++i){int u, v; cin>>u>>v;G[min(u,v)].insert(max(u,v));}for(int i=1; i<=n; ++i){if(G[i].empty()) continue;ans+=G[i].size();int u=*G[i].begin();//最小的辣个G[i].erase(G[i].begin());if(G[u].size()<G[i].size()) swap(G[u],G[i]);for(auto v:G[i]) G[u].insert(v);}cout<<ans<<'\n';return 0;
}

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

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

相关文章

ps企业站网站做多大网站建设功能覆盖范围

Truth Truth 是用于Java测试的断言框架&#xff0c;灵感来自于FEST&#xff0c;并受到一些可扩展性需求的驱动&#xff0c;几乎完全由谷歌员工在业余时间编写&#xff0c;或者作为Java核心图书馆管理员的身份做出贡献。 作用 作为工程师&#xff0c;我们花费大部分的时间来阅…

动易的网站能否静态提供o2o网站建设

#文件防泄密软件# 中科数安是一家专注于信息安全领域的高科技企业&#xff0c;其提供的防止公司内部文件资料及数据外泄的解决方案主要包括图档透明加密和源代码防泄露系统等核心服务。 中科数安 | 图档、源代码防止外泄系统 PC地址&#xff1a; www.weaem.com 1. 图档透明加…

加密的病例单

点击查看代码 #include<iostream> #include<cstring> using namespace std; char s[55]; char d[55]; int main() {gets_s(s);int len = strlen(s);s[len] = \0;d[len] = \0;for (int i = 0; i < len; …

【多线程】什么是原子操作(Atomic Operation)? - 详解

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

详细介绍:视频融合平台EasyCVR构筑智慧交通可视化管理与智能决策中枢

详细介绍:视频融合平台EasyCVR构筑智慧交通可视化管理与智能决策中枢pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &q…

php高性能网站建设深圳微信网站开发公司

今日分享阿里云一面&#xff0c;给要准备就业的宝子们一点方向 1、自我介绍与项目介绍 2、八股文 Java的特性、Java的oop&#xff1f; Java有哪些方法来实现线程安全&#xff1f; 讲讲Spring中的AOP与IOC&#xff1f; synchronized锁怎么用&#xff1f; Mysql中右模糊查询用…

docker 在x86上build arm 镜像

好——你想在 x86 主机上构建 ARM 镜像(比如为 Raspberry Pi 或者 ARM 服务器构建 linux/arm64 / linux/arm/v7)。下面给出一套实用、可直接复制执行的步骤、常用命令、以及常见问题与优化建议,覆盖从环境准备到构建…

网站开发用什么系统比较好?网站建设维护合同模板

前言 大家好&#xff0c;我是来自CSDN的寄术区博主PleaSure乐事。今天是开始学习vue的第一天&#xff0c;我使用的编译器是vscode&#xff0c;浏览器使用的是谷歌浏览器&#xff0c;后续会下载webstorm进行使用&#xff0c;当前学习阶段使用vscode也是可以的&#xff0c;不用担…

9.29软工

今天学了很多,就得靠练。

手机怎么做黑网站网络公司网络推广

AES加密是美国联邦政府采用的一种块加密标准&#xff0c;如今已经被全世界广为使用。嵌入式开发中我们也经常会用到加密解密算法&#xff0c;如果没有硬件模块来实现&#xff0c;就需要用到C代码软件实现。下面介绍调用mbedTLS中的AES加密解密函数实现AES算法。 mbedTLS是一个…

不一样的.NET烟火,基于Roslyn的开源代码生成器

功能介绍 Mud 代码生成器是一个基于Roslyn的源代码生成器,专为.NET开发者设计,用于根据实体类自动生成各种相关的代码,从而显著提升开发效率。它具有以下核心功能:DTO代码生成 - 根据实体类自动生成数据传输对象(…

详细介绍:深入浅出 XSS — 从原理到实战与防护

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

房屋在线设计网站个人网站怎么做打赏

我叫白天涯&#xff0c;来自计科13-1班。 首次使用这个博客园发表随笔&#xff0c;请大家多多关照。 本次软件工程课我希望能好好听讲&#xff0c;认真做课堂记录&#xff0c;不会的及时问老师&#xff0c;以及跟同学沟通&#xff0c;尽管我计算机这方面不是太精通&#xff0c;…

vxe-table 数据量过大时切换空白

vxe-table 数据量过大时切换空白问题 vxe-table单页数据超过100条时,切换页签会导致表格区域出现空白。此时滚动鼠标,数据会重新出现。 解决 给 vxe-table 标签上添加 :scroll-y="{ gt: -1 }"即可禁用虚拟…

复刻江协旋钮控制模块

复刻江协旋钮控制模块 1、初始化硬件 OLED初始化这里就不展开细讲了,可以看我之前的帖子复刻江协激光触发器旋钮初始化使能外部中断模式改为上拉根据旋钮接口接上线2、操作代码 (1) 初始化输出定义全局变量count,并初…

做自行车车队网站的名字展厅搭建公司

一、引入 在没有遇见mapstruct的时候&#xff0c;实现各个实体之间的转换&#xff0c;都是手动转换实现的&#xff0c;属性少一带你还好&#xff0c;当属性一多&#xff0c;代码就会变得很冗余&#xff0c;没必要的非逻辑的代码就会加多。。。。 比如&#xff1a; public cl…

Linux 基础IO与系统IO - 实践

Linux 基础IO与系统IO - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

从零开始,使用Idea工具搭建一个springboot项目

一,搭建之前准备 搭建之前先确保本机已正确安装JDK,Maven,IDEA。 以下是我的配置: OpenJDK 17 Maven 3.9.11 IDEA 2025 二,开始搭建1,打开Idea工具,File->New-> Project...2,左边选择“Spring Boot"…

最优/极值问题的算法选择

如何选择滑动窗口、二分、动态规划算法 刷leetcode时对于一些最优/极值问题往往不知采用哪一种算法,故借助大模型学习一些算法要点。1. 滑动窗口(Sliding Window) 特点适用于 数组 / 字符串 的 连续子区间 问题。 目…

珠海的门户网站有哪些深圳地址大全

ScottPlot是一款简单易用、高度定制、性能卓越的.NET绘图库&#xff0c;支持跨平台操作。除提供标准图表类型外&#xff0c;还支持交互式操作&#xff0c;呈现生动的数据展示。在工厂数字化系统中&#xff0c;可用于生产数据可视化、设备监测和质量控制。无论用于科学研究、数据…