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

神秘专题训练之老题补做

2024

在我的深刻思考下,我决定先开xtq的杂题选讲,我能归来吗?

杂题选讲 by xtq

unknown

给定一棵带权树和一个 \(k\),选 \(k\) 个点标记,使得对于每个点(可以不是标记点)到最近的标记点的距离的最大值最小。\(n \leq 10^5\)

先二分答案。考虑怎么 \(check\)。以下用“放”表示标记,\(mid\) 是二分的答案。

\(d_x\) 表示 \(x\) 的子树内至少放 \(d_x\) 个能使得我再在 \(x\) 处再放一个就能让子树全满足,\(f_x\) 表示再满足 \(d_x\) 最小的前提下 \(x\) 和它子树内最近的标记点的距离最小是多少(这里的地位是先让 \(d_x\) 最小然后再让 \(f_x\) 最小),\(g_x\) 表示如果 \(f_x\) 寄了(\(>mid\) 了)那么对于那些假如只标记那 \(d_x\) 点就无法满足的点中最深的那个点距离 \(x\) 是多少。

考虑如何合并子树。

首先对于 \(d_x\) 那些 \(d_{son}\) 是最基础的得加上,这个就是简单求和。

然后对于 \(f_{son}\) 考虑如果把这个儿子连向 \(x\) 的那个边加进来以后是否依旧 \(\leq mid\),如果是那么更新一下 \(f_x\)。否则的话如果当前的 \(f_{son}+w\) 全都 \(>mid\),那么就要更新变成 \(g_x=0\)\(f_x\) 照常更新取 \(min\)

接下来是 \(g\),那么这个 \(g\) 就是我们要满足的,那么子树内显然是不行了,那么肯定是子树外的标记点覆盖它,考虑肯定是另一棵子树内的一个标记点转移过来,我们肯定希望这个标记点到 \(x\) 的距离最小(因为你考虑这个 \(son'\) 子树内的标记点到那个不满足的 \(g_son\) 的距离是\(f_{son'}+w_{son'}+g_{son}+w_{son}\)),那么你就看一下 \(f_{son'}+w_{son'}+g_{son}+w_{son}\) 这个东西是不是 \(\leq mid\) 的即可,这下就没有影响,反正都解决了。

然后如果不能覆盖到,也就是 \(f_{son'}+w_{son'}+g_{son}+w_{son}>mid\),此时如果 \(g_{son}+w_{son} \leq mid\),那么显然在 \(x\) 再放一个就完了,那么你更新一下 \(g_x\) 的值就行(用 \(g_{son}+w_{son}\))。如果 \(g_{son}+w_{son}>mid\),那么在 \(u\) 放也会寄。我们设 \(g_{son}\) 的那个最深的点是 \(p\),此时就得在 \(p-x\) 的路径上选一个点使得能覆盖到 \(p\) 并且距离 \(x\) 最近的点,这个也是好维护的,维护以后更新一下新的 \(f_x\) 并且把 \(d_x\) 加一即可。

http://www.gsyq.cn/news/15897.html

相关文章:

  • 全球 whk 水平下降 998244353 倍,而你不变
  • 202510做题记录
  • 全球 wkh 水平下降 998244353 倍,而你不变
  • 哈希简单解说
  • 前端学习教程-VIte整合ECharts
  • Atcoder Beginner Contest 426 A-D 题解
  • mtgsig
  • 详细介绍:Java-Spring 入门指南(十七)SpringMVC--Apipostl与RestFul实战测试
  • 高中数列梳理
  • 详细介绍:告别 403 Forbidden!详解爬虫如何模拟浏览器头部(User-Agent)
  • AtCoder Beginner Contest 426 实况记录 + A-D 题解
  • 提示词攻击如何防范(2025):从 Indirect Prompt Injection 到 RAG 供应链的分层防御实战
  • 但行好事,莫问前程
  • 前端学习教程-环境配置
  • 微分和积分的区别
  • 202509_QQ_secret
  • Matlab R2024b下载及详细安装教程,附永久免费Matlab安装包
  • 数据结构 - 跳表 Skip List
  • 06. 定时器
  • NOIP之前的复健记录
  • 解码Huffman 编码与 Huffman 树
  • 深入解析:SAE J3072-2024插电式电动汽车(PEV)中的车载逆变器系统安全标准介绍
  • 实用指南:gitlab-runner 再次实践中理解和学习
  • 【自然语言处理】文本规范化知识点梳理与习题总结 - 教程
  • Rocky Linux 8 远程管理配置指南(宿主机 VNC + KVM 虚拟机 VNC) - 指南
  • 邮票收集问题正推证明
  • 2025 年 9 月习题集
  • 实用指南:Linux整个系统权限玩坏了怎么办
  • C# 代码规范
  • MySql的存储过程以及JDBC实战 - 详解