news 2026/5/1 5:49:17

区间并查集|树状数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
区间并查集|树状数组

lc3245

lc3244

区间并查集 _并边

i = set.find(i + 1))
set.merge(i, q[1]-1);

这步实现跳跃

class UFS
{
public:
vector<int> fa;
int size;

UFS(int n)
{
fa.resize(n);
iota(fa.begin(), fa.end(), 0);
size = n;
}

int find(int x)
{
if (x >= fa.size()) return fa.size();
if(fa[x]!=x) {
fa[x]=find(fa[x]);
}
return fa[x];
}

bool merge(int x, int y)
{
int fx = find(x);
int fy = find(y);
if (fx == fy) return false;
fa[fx] = fy;
size--;

return true;
}
};


class Solution {
public:
vector<int> shortestDistanceAfterQueries(int n, vector<vector<int>>& queries) {
UFS set(n - 1);
vector<int> ans;
for (auto& q : queries)
{
for (int i =q[0]; i < q[1];i = set.find(i + 1))
set.merge(i, q[1]-1);


ans.push_back(set.size);
}
return ans;
}
};

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:45:10

Java计算机毕设之基于springboot的养老院管理系统的设计与实现基于SpringBoot的养老中心管理系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/1 3:47:18

网页爬虫与DOM操作:Puppeteer与Cheerio的实战应用

在现代网络应用开发中,网页爬虫和DOM操作是两个常见却又复杂的领域。通过Puppeteer和Cheerio,我们可以有效地抓取并处理网页内容。本文将介绍如何使用这两个工具来移除HTML中不包含文本的元素,并展示一个具体的实例。 背景介绍 Puppeteer是一个Node库,提供了高级API来控制…

作者头像 李华
网站建设 2026/4/25 18:12:57

2026必备!10个AI论文写作软件,助本科生轻松写论文!

2026必备&#xff01;10个AI论文写作软件&#xff0c;助本科生轻松写论文&#xff01; AI 工具如何改变论文写作的未来 在当今信息爆炸的时代&#xff0c;学术写作正面临前所未有的挑战。对于本科生而言&#xff0c;撰写一篇高质量的论文不仅需要扎实的专业知识&#xff0c;更需…

作者头像 李华
网站建设 2026/5/1 4:45:25

大数据领域数据压缩,让处理速度飞起来

大数据领域数据压缩&#xff1a;让处理速度“飞”起来的底层密码 一、引入&#xff1a;当大数据遇到“体积瓶颈”——你需要的不是更大的硬盘&#xff0c;而是更好的“打包术” 凌晨3点&#xff0c;字节跳动的实时计算集群依然在高速运转。工程师小张盯着监控面板上的红色报警…

作者头像 李华