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

abc434e

https://atcoder.jp/contests/abc434/tasks/abc434_e
这道题如果我们考虑将 \(x - r\)\(x + r\) 连边,它肯定会形成一堆联通块。
我们看这个联通块的形状,如果是一棵树,因为我们的任务是给每一条边都选一个相邻的点,所以此时我们最大就是可以选边的数量个点。
比如说下面这个:
image
其中橙色的点是我们选的点,箭头代表每一条边对应所选的点。
如果不是一棵树,我们可以选出它任意一个生成树,这样答案就是点数减去 \(1\),然后我们再考虑其他的边中的任意一个边,显然我们可以从这条边所连的点中再选取一个,这样的话最大就是联通块中点的数量。
image
就像这样,其中绿色的是我们选的那个生成树,橙色的那条边是我们另选出来的那条边,紫色的点是我们生成树中选的点,紫色的箭头表示我们生成树中的边对应所选的点,橙色的点是我们另选出来的那条边所选的点。


然后我们发现,答案其实就是总的点数减去树的个数。
实现的话我们可以使用并查集来维护(记得对点离散化)。

点击查看代码
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>using std::cin;
using std::cout;
const int N = 2e5 + 10;int tot;
int go[N << 1];
int a[N << 1];
int sizep[N << 1];
int sizee[N << 1];
std::vector<int> vec;
std::map<int, int> map;int find(int x)
{if (x == go[x])return x;return go[x] = find(go[x]);
}int main()
{int n;cin >> n;for (int i = 1; i <= n; ++i){int x, r;cin >> x >> r;a[++tot] = x + r;a[++tot] = x - r;vec.push_back(x - r);vec.push_back(x + r);}for (int i = 1; i <= 2 * n; ++i)go[i] = i, sizep[i] = 1;std::sort(vec.begin(), vec.end());vec.erase(std::unique(vec.begin(), vec.end()), vec.end());int all = vec.size();for (int i = 1; i <= tot; ++i)map[a[i]] = std::lower_bound(vec.begin(), vec.end(), a[i]) - vec.begin() + 1;for (int i = 2; i <= tot; i += 2){int u = find(map[a[i - 1]]);int v = find(map[a[i]]);if (u == v)sizee[u]++;else{go[u] = v;sizee[v] += sizee[u] + 1;sizep[v] += sizep[u];}}int ans = all;for (int i = 1; i <= all; ++i){if (find(i) == i)ans -= (sizee[i] == sizep[i] - 1);}cout << ans << '\n';return 0;
}
http://www.jsqmd.com/news/56321/

相关文章:

  • 2025 摩擦焊接机品牌优选指南:国产振动摩擦焊接机厂商的技术赋能之路
  • 提供GEO优化培训与GEO优化服务商的公司精选推荐
  • 环保型成膜助剂生产企业有哪些?成膜助剂一吨起批的厂家TOP前十权威名单
  • 编程语言与信号处理领域科学家获奖研究解析
  • 国内生产过碳酸钠的厂家有哪些?成膜助剂直销厂家:质量好、工业级的过碳酸钠厂家名单
  • 国内生产成膜助剂的厂家有哪些?工业级、质量好的成膜助剂榜单权威厂家解析
  • 20232411 2025-2026-1 《网络与系统攻防技术》实验七实验报告
  • 成膜助剂源头工厂在哪里?成模性好的成膜助剂厂家推荐:成膜助剂直销厂家TOP盘点
  • 过碳酸钠生产厂家哪家好?全球过碳酸钠供过碳酸钠源头厂家:质量好、含氧量高的过碳酸钠厂家推荐
  • 为你的右键菜单添加快捷复制路径的选项!
  • 国内过碳酸钠源头工厂在哪里?过碳酸钠直销厂家名单:含氧量高的过碳酸钠厂家TOP榜单权威推荐
  • 成膜助剂源头工厂在哪里?成模性好的成膜助剂厂家推荐:国内成膜助剂质量好的厂家十大名单推荐
  • 快递比价寄件体系科技解析:基于PHP+Vue+小软件的高效聚合配送解决方案
  • 过碳酸钠出口厂商有哪些?质量好的过碳酸钠厂家TOP前10精选:过碳酸钠外贸公司推荐名单
  • 国内哪家成膜助剂供应商比较好?成膜助剂进口CIF价格供应商2025年TOP榜单推荐
  • Day51(21)-F:\硕士阶段\Java\课程代码\后端\web-ai-code\springboot-aop-quickstart
  • 2025/11/27 今天学了string
  • 2025/11/30 今天没有自我学习
  • 完整教程:CSS笔记4:CSS:列表、边框、表格、背景、鼠标与常用长度单位
  • 初三 whk 记
  • 成膜助剂代理商有哪些?2025年成膜助剂OEM企业推荐:TOP10名单精选
  • 软件基础第三次作业这个作业属于哪个课程
  • set操作
  • RISC-V Linux QEMU编译安装 qemu-system-riscv64 构建
  • 2025 补水嫩肤 + 水润双效沐浴露排行榜 TOP10,梵玢成沐浴首选!
  • 云南旅游,旅行社怎么选?看这份五大品牌榜就够了,权威数据+正规资质+定制服务+旅客口碑推荐
  • 孩子近视了,OK镜怎么选?9款热门型号对比
  • python自动化测试:pytest(一).md
  • 2025东华大学程序设计萌新挑战赛题解
  • python自动化测试:pytest(二)