[CTSC2008] 网络管理

news/2024/9/24 18:10:36

与区间动态查询第\(k\)小非常像,只是这里搬到了树上上面,仍然考虑类似做法

先考虑不带修的情况。假设我们现在在递归树的第一层,考虑如何统计答案。现在要将权值不超过\(mid\)的节点加入到树中,然后对于每一个询问,查询路径上有多少个加入了的点,从而将询问分成两组。问题是如何查询路径上有多少加入的点,利用LCA,不难想到设\(f[i]\)表示节点\(i\)到根的路径上有多少个被加入的点,则\(a,b\)路径上的被加入的点的个数就是\(f[a]+f[b]-f[lca]-f[lcafa]\),其中\(lca\)\(a,b\)的最近公共祖先,\(lcafa\)\(lca\)的父亲。接下来的问题变成如何加入点。由以上分析,我们在加入一个点的时候,要将其子树的所有节点的计数都加一,于是可以想到利用DFS序,树上的单点增加变成了区间的区间修改,树上的单点查询变成了区间的单点查询,利用树状数组就好了

再考虑待修的情况,只需要像“动态排名”这道题目一样,将一个修改拆成两个修改就好了

然后就是认真读题吧,这道题目是查询第\(k\)大,不是第\(k\)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

云栖3天,云原生+ AI 多场联动,新产品、新体验、新探索

云栖3天,云原生+ AI 多场联动,新产品、新体验、新探索,明天我们现场见云栖3天,云原生+ AI 20+场主题分享,三展互动,为开发者带来全新视听盛宴 2024.9.19-9.21 云栖大会 即将上演“云原生+AI”的全球盛会 展现最新的云计算技术发展与 AI技术融合之下的 “新探索” 一起来云…

11、Linux软件安装及使用

Windows软件安装流程安装检查: 检查系统是否满足软件的安装要求,包括操作系统版本、硬盘空间、内存要求等。 释放文件: 解压安装包中的文件到临时目录。 复制可执行文件: 将主要的可执行文件复制到指定的安装路径。 安装DLL动态链接库/安装服务: 根据需要安装动态链接库文件(…

降本 60%!小熊油耗使用阿里云 SAE 更加稳定可靠

在技术不断进步与市场竞争日益激烈的背景下,小熊油耗坚定地相信,通过持续优化和创新,定能在未来实现更大的发展与突破。感谢阿里云 SAE 为小熊油耗的成长与发展提供了强有力的支持。作者:赵世振、黛忻 把业务迁移到阿里云 SAE 之后,我们的产品更加稳定,用户体验更流畅,提…

Js基础

JS编写位置 将代码编写在html网页script标签 <script>// 弹出alert("test")// 控制台输出日志console.log("hello world")// 向网页输入内容,即往body中写内容document.write("write content")</script>将代码编写在外部的js文件中…

吴辰曦的自我介绍

大家好!我是吴辰曦。我认为可以用乐观,活泼,慢热来形容我。 我性格乐观,总是能看到生活中的美好,相信无论遇到什么困难都能找到解决办法。我也很活泼,喜欢和朋友们一起玩耍、交流。不过呢,我还有点慢热,刚开始可能会比较安静,但一旦熟悉起来,就会展现出最真实的自己 …

Linux系统CentOS下挂载磁盘

1. 挂载磁盘步骤总结如下 1. 对磁盘进行分区 2. 对磁盘进行格式化 3. 将磁盘挂载到对应目录 4. 设置开机自动挂载磁盘 2. 对磁盘进行分区 2.1 查看系统设备信息 lsblk指令显示所有块设备信息:显示系统中所有的块设备信息,包括磁盘和分区 lsblk2.2 查看未挂载的磁盘 fdisk -l2…

软路由系统 --- OpenWrt下载安装中文语言包

刚安装好的OpenWrt登录Web管理后台后,发现界面是英文的,在系统的语言选项也只有English,没有中文可切换,那该如何呢?那我们就给它安装个中文的语言包,再来进行切换,看看能行不能行!如下介绍三种方法进行安装中文语言包。openwrt系统:OpenWrt版本:22.03.5中文语言包:…