C123【模板】扩展域并查集 P1892 [BOI2003] 团伙

news/2024/11/15 11:27:32/文章来源:https://www.cnblogs.com/dx123/p/18199732

视频链接:

 

 

P1892 [BOI2003] 团伙 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// 扩展域并查集 
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;int n,m,a,b,s;
int p[2005];int find(int x){return p[x]==x?x:p[x]=find(p[x]);
}
void unset(int x,int y){p[find(y)]=find(x);
}
int main(){cin>>n>>m;for(int i=1;i<=2*n;i++) p[i]=i;for(int i=1;i<=m;i++){char ch; cin>>ch>>a>>b;if(ch=='F') unset(a,b);else unset(a,b+n),unset(b,a+n);}for(int i=1;i<=n;i++)if(p[i]==i)s++;cout<<s;
}

 

P1525 [NOIP2010 提高组] 关押罪犯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// 扩展域并查集 
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;struct E{int a,b,c;bool operator<(const E &t)const{return c>t.c; //降序
  }
}e[100005];
int n,m,p[40005];int find(int x){return p[x]==x?x:p[x]=find(p[x]);
}
void unset(int x,int y){p[find(y)]=find(x);
}
int main(){cin>>n>>m;for(int i=1;i<=m;i++)cin>>e[i].a>>e[i].b>>e[i].c;sort(e+1,e+m+1);for(int i=1;i<=n*2;i++) p[i]=i;for(int i=1; i<=m; i++){int a=e[i].a,b=e[i].b;if(find(a)==find(b)){cout<<e[i].c; return 0;}unset(a,b+n);unset(b,a+n);}cout<<0;
}

 

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

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

相关文章

Hadoop集群模式的搭建之四:运行Hadoop集群

格式化NameNode 当第一次启动HDFS时要进行格式化,将NameNode上的数据清零,否则会缺失DataNode。以后启动无需再格式化,只要运行过Hadoop集群,其工作目录(/usr/local/src/hadoop/tmp)中就会有数据。如果需要重新格式化,则在重新格式化之前一定要先删除工作目录下的数据,…

3.13-主题讨论

答案: 作为创始人,将产品的远景转化为需求,并确保在用户行为改变的情况下保持产品的愿景,需要以下步骤:分析和定义需求:首先,对产品的远景进行详细分析,确定在10年后产品要实现的目标和愿景。然后,将这些目标和愿景转化为具体的功能和特性需求,以确保产品能够满足用户…

zookeeper控制台

最近在使用ElasticJob的时候遇到了 elasticjob conflict jobs 的问题,就想着能不能把这个job从zk中剔除。 ElasticJob的注册中心是zk,就想通过控制台把那个定时任务给移除掉。 zk控制台下载(https://github.com/DeemOpen/zkui.git),用idea打开修改下config.cfg文件中zk服务的…

“现代汽车中国前瞻软件赛杯” 牛客周赛 Round 43 D、E

那时候吃了饭后,剩下25分钟,我就把A-D都过了一遍,E不够时间。D 对于x~y这个长度为k的序列:对于1~k每个数,它出现的数目。 从x~y,到x+1~y:如果一个数出现的数目从0 -> 1,出现元素数目+1;如果一个数出现的数目从1 -> 0,出现元素数目-1。 记录所有出现元素数目=k的…

常回家看看之off_by_one

❗off_by_one这个漏洞比较特殊,它不像上一期的堆溢出,可以溢出很多字节,它只能溢出一个字节,在栈里面也可以通过这个漏洞修改返回地址什么的,在堆里面我们主要利用它来修改堆块的大小,形成fake_chunk也就可以进行堆的重叠,在64位的时候如果申请0x18,0x28,0x38这样的堆…

LLM实战:当网页爬虫集成gpt3.5

本文主要是通过Scrapegraph-ai集成gpt3.5实现一个简单的网页爬取并解析的demo应用,其中涉及到gpt3.5免费申请,Scrapegraph-ai底层原理简介,demo应用源码等。1. 背景 最近本qiang~关注了一个开源项目Scrapegraph-ai,是关于网页爬虫结合LLM的项目,所以想一探究竟,毕竟当下及…

使用RAG-GPT集成智谱AI、DeepSeek快速搭建OpenAI Cookbook智能客服

本文介绍了如何通过RAG-GPT集成智谱AI和DeepSeek,快速搭建OpenAI Cookbook智能客服系统。包括下载源代码、配置环境变量、启动服务、体验聊天效果、将聊天机器人嵌入网站等步骤。RAG-GPT具备开源免费、易于部署、功能丰富的特点,为LLM在特定领域的应用提供企业级解决方案。使…

openpyxl Worksheet

worksheet 说明 Worksheet 代表一个 Excel 工作表。 worksheet 初始化 from openpyxl import Workbook# 创建一个新的Excel工作簿 wb = Workbook()# 获取第一个工作表 worksheet = wb.active# 保存工作簿到指定的文件名 wb.save("execl_test.xlsx")# 关闭工作簿 wb.c…

C#使用开源操作库MiniExcel操作Excel

简介 MiniExcel简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。 目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。特点 低内存耗用,避免…

Django性能优化:提升加载速度

title: Django性能优化:提升加载速度 date: 2024/5/20 20:16:28 updated: 2024/5/20 20:16:28 categories:后端开发tags:缓存策略 HTTP请求 DNS查询 CDN分发 前端优化 服务器响应 浏览器缓存第一章:Django性能优化概述 1.1 性能优化的意义 性能优化是Web开发中的关键环节,它…

crypto--rsa基础(1)

在ctf---crypto中rsa应该是最常见也是现在最容易考到的密码题型吧,这篇博客就简单的介绍一下rsa和rsa的一些基本的攻击手法. 对于我们这些萌新来说要做rsa的话也必须先掌握四大基本公式就是欧拉函数,费马小定理,中国剩余定理,威尔逊定理,现在就先基本了解一下就能够做题了…