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

洛谷 P3273

题意直接看 原题 吧。

注意 \(-1000 \le v \le 1000\)

这种连边的操作很容易让人想到 DSU,再一看,使用 DSU 对于每个连通块开个 set 维护最大值,整体再开个 set 维护全局最大值,不难搞出 \(O(n \log ^2 n)\) 的做法,需要卡常才能过(想进办法减少 seterase/insert 的次数。)

但是有更简单的做法。(不会左偏树。)似乎可以使用线段树合并代替 set,而不是启发式合并,然后可以做到 \(O(q \log v)\) 的复杂度。

另一种写法是离线下来,整个并查集是棵树,那么每个节点(一个连通块)在 dfs 序上就是一个区间,然后就可以线段树做了。(把每个点映射成 dfn[u],然后在合并时就是区间操作了。)

非常棒的题,最后一个做法将利用并查集是的性质,将连通块原本不连续的编号变为连续的,然后转化为区间问题,奇思妙想。

http://www.zskr.cn/news/39029.html

相关文章:

  • 好久没来了
  • 【入门】使用Node.js开发一个MCP服务器
  • AgenticSeek:完全本地的AI助手,保护隐私的智能代理
  • CSP-S 2025 题解
  • 洛谷 P11190
  • linux报错
  • 高级语言程序设计作业3
  • P14359 [CSP-J 2025 T3] 异或和 ← 前缀异或和
  • 第14天(中等题 滑动窗口、哈希表)
  • Office 2024 专业增强版下载安装教程:安装/下载/激活/全流程教程
  • fhq treap笔记
  • 11/3
  • ICPC2025 武汉站 游记
  • 基于Blocking queue的生产消费模型
  • React中useContext的基本使用和原理解析
  • JDK的安装过程
  • File文件操作
  • 越南航空数据泄露事件深度解析
  • redux-thunk和createAsyncThunk
  • 【AI说Rust 01】Rust 的学习路线
  • P11771 题解
  • CSP-S 2025 饭堂寄
  • 如何在github上使用github免费域名下预览自己的项目
  • 在ROS中安装PX4依赖实现Gazebo仿真
  • Windows 路由表详解
  • 如何启用cycloneDDS的iceoryx
  • 老化车
  • 在Fiddler中模拟网络中断,返回500错误的过程
  • 构建企业级AI提示词攻击防御体系的实战指南-2025年
  • 矩阵的秩