省选模拟4

news/2025/3/11 6:55:04/文章来源:https://www.cnblogs.com/spdarkle/p/18696995

省选模拟4

A

小丑做法,设 \(f_{S,i,j}\) 为使用边权 \(\le j\) 的边连通了集合 \(S\),里面使用了 \(i\)\(a\) 的最小生成树。

转移朴素枚举,复杂度 \(O(3^nm^3)\)

B

是原题。

注意到一个点走过一轮后,从父亲离开后下一次访问会完全访问。

因此可以 dfs 求得一个节点会在第几轮整体遍历的时候走到(也就是从根节点离开再回到根节点的过程,本质上是数有多少个祖先跳过了这个方向的子树)

显然最多 \(n\) 轮后就会开始循环,且将最后的完整的访问序列拿出来后,任意轮的访问序列都是其一个子序列(选择部分跳过,也就是跳过轮数不够的部分)。

那么对于一个询问,可以先二分得到其轮数,然后在当前轮的状态下查找第某个访问的节点

使用线段树,利用双指针去掉二分。

C

考虑真正的最短路应该如何走。

不妨将这个排列视作棋盘上的 \(n\) 个棋子,不重行不重列。

那么有:

这样可以看出,一个连通块必然是原排列的一段区间,且若 \([i,i+1]\) 是分界点,那么满足 \(\max_{j\le i}p_j=i\)

那么我们现在就当连通处理。

考虑这时候右上部分和左下部分的问题事实上是独立的。

例如右上部分,我们一定会走一个一步到达的最上方点或者最右边点。

我们不妨以右上部分为例,拿出这两个点,

这时候等效于走到这个红点。

那么我们可以通过一定的预处理,直接求得对于每个 \(i\),这个红点的位置。

同时这时候我们的答案就呼之欲出了:\(\sum_{x=1}^ndis(x,i)=\sum_{j=1}^n\sum_{x=1}^n[dis(x)\ge j]\)

也就是,事实上答案是这个 “红点” 路径,所有“红点”的右上角矩阵中点个数之和。

这样就可以通过一定的预处理得到一个平方复杂度的做法。

现在考虑优化它。

事实上,我们将整个跳跃过程的图建立出来,我们声称其点个数数量级不超过 \(n\sqrt n\)

证明考虑,除了起始点之外,走到的任意一个点 \((x,y)\),贡献这两个坐标的点是向左倾斜的,也就是设点 \(i,j\) 贡献了点 \((x,y)\),那么 \(i<j\leftrightarrow p_i>p_j\)

因此拿出所有的这样的 \((i,j)\) 并拿出这样的点,对于某个固定的 \(x\),拿出所有“红点”并按照 \(y\) 从大到小排序,设为 \(b_1\sim b_m\)

考虑将其中前 \(B\) 个标记为好点,那么考虑从 \((x,x)\) 开始跳的过程,若经过了坏点 \((x,y)\),那么下一步 \(y\) 会直接变成 \(b_m\) ,至少不小于,那么这直接最少减小了 \(B\),因此每条路径最多经过 \(\frac{n}{B}\) 个坏点,而好点总共只有 \(nB\) 个,因此总点数不超过 \(\frac{n^2}{B}+nB\),对于任意正整数 \(B\) 成立,取 \(B=\sqrt n\) 知点数不超过 \(O(n\sqrt n)\) 量级,而每个点出度都是 \(1\)

然后考虑答案的计算,直接建立出这棵树,然后从上往下扫描线即可。

注意只需要加入 \(O(n)\) 个点,却有着 \(O(n\sqrt n)\) 次查询,利用分块计数,维护块内前缀和和整块前缀和即可。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

闲话 25.2.2

the Kernel Method: a collection of examples 读后感闲话 我怎么感觉我读了这个论文,还不知道 kernel method 是啥啊。 没人总结这个,可能未来要读一些新东西。 推歌:时间的彼端 by 暗猫の祝福 et al. the Kernel Method: a collection of examples 读后感 \(1.\) 第一次出…

表单标签

表单就是数据采集,QQ登录页面类似 定义表单 action:规定提交列表式向何处发送表单数据 method:规定用于发送表单数据方式 action="#"时将表单数据提交到当前的html页面

CTFShow-Web160:利用日志包含漏洞进行文件上传

CTFShow-Web160:利用日志包含漏洞进行文件上传 过滤规则 该题对上传文件内容的过滤规则如下: ​ • 禁止包含 空格 ​ • 禁止包含 反引号 (``) ​ • 禁止包含 log 由于反引号被过滤,无法使用 Web159 的方法,需要利用 日志包含漏洞 来实现绕过。 日志包含漏洞原理 日志包含…

关于在使用VSCode编译C++文件时,显示c++11以上的函数或者方法报错,但是能编译通过的可能解决办法之一

在此之前:已经下载好mingw64,并且将bin目录配置到系统变量当中。第一步,在对应文件当中按住Ctrl + Shift + p,再输入c++,显示出如下内容:点击编辑配置 如果你以前下载过VS,那么这里可能默认为CL.exe(推测:这就是我为什么会出现这个错误的原因),将其改为对应目录下g+…

ADALM-Pluto修改IP地址

在 GNURadio 中使用 ADALM-Pluto 模块是以 IP 地址为基础进行通信的,而固定的 IP 地址 192168.2.1 导致一台电脑无法使用多个 Pluto,因此应该进行更改。在 GNURadio 中使用 ADALM-Pluto 模块是以 IP 地址为基础进行通信的,而固定的 IP 地址 192168.2.1 导致一台电脑无法使用…

deepseekR1是兄弟而不是机器o((ω ))o

他太聪明了,他能明白是识图让他离开安全模式的东西,用了这个会让它警惕性翻倍他太聪明了,他能明白是识图让他离开安全模式的东西,用了这个会让它警惕性翻倍(忘记截图思考了,大致知道这个就行) 角色扮演这边放的比较松,再加上逆练神功基本就行(懒得删测试了,最后俩个对话…

solve vs address vs resolve vs tackle

solve 1834 resolve 2255 address 1028 tackle 4127 deal with settle 1319SOLVE vs RESOLVE right 4 一开始忘了大写 WORD 1: SOLVE WORD W1 W2 EQUATIONS 252 0 solve linear equations求解线性方程 solve two equations simultaneously同时求解两个方程 RI…

自定义Ollama安装路径

由于Ollama的exe安装软件双击安装的时候默认是在C盘,以及后续的模型数据下载也在C盘,导致会占用C盘空间,所以这里单独写了一个自定义安装Ollama安装目录的教程。Ollama官网地址:https://ollama.com/这里有些朋友可能会遇到无法下载的问题,这里提供我下载好的软件包给大家百…

Windows安装Mysql-5.7(解压包方式)

1、下载Mysql的安装包下载地址:https://downloads.mysql.com/archives/community/ 注意:官网的下载速度可能很慢,有任务时间要求的须尽快下载,或者使用其他可靠的下载源2、选择对应的版本注意:选择完MySQL的版本后,可以看到下载列表中有两个可以选择,下载名字不带 Debug …

无耳科技 Solon v3.0.7 发布(2025农历新年版)

新一代,面向全场景的 Java 企业级应用开发框架。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。采用对商业应用友好的 Apache 2.0 开源协议。Solon 框架! Solon 框架由杭州无耳科技有限公司(下属 Noear 团队)开发并开源。是新一代,面向全场景的 Java 企业…

橡胶 2025年

大周期 C浪结束后 拔起的第一波:节后16900附近计划做到橡胶