The 2024 CCPC Shandong Invitational Contest and Provincial Collegiate Programming Contest

news/2024/12/22 0:12:34/文章来源:https://www.cnblogs.com/MiniLong/p/18447323

比赛链接

C. Colorful Segments 2

考虑最小的分组数量,可以先按左端点排序,然后每次贪心地找到前面一个最大右端点 \(r_j < l_i\) 的组加入。

考虑计数,还是同样地按左端点排序,那么假设现在有 \(k\) 个组,每个组最大右端点是 \(g_i\)(没有元素则 \(g_i = 0\)),那么每次可以选择一个 \(g_j < l_i\) 的组并且把 \(g_j\) 更新为 \(l_i\)。注意到我们不需要关心具体的 \(g_j\),只用关心 \(g_j < l_i\) 的数量。由于 \(l_i\) 是单增的,所以所有 \(g_j < l_i\) 的组 \(j\) 本质相同。那么就是每次查询 \(g_j < l_i\) 的数量,并且将其减 \(1\),并插入一个 \(r_i\),可以用堆模拟。复杂度 \(\Theta(n \log n)\)

E. Sensors

由于恰好有 \(1\) 个点的线段是有用的,且每个点不会被重新加入,那不妨考虑每次删除点的时候快速找到所有从 \(>1\) 个变成 \(1\) 个的线段,和从 \(1\) 个变成 \(0\) 个的线段。

\(1\) 个变成 \(0\) 个是好维护的,只需要把 \(1\) 个的线段插入到那个点的 vector 中,删除的时候直接减去所有的贡献即可。

\(>1\) 个变成 \(1\) 个时,线段的左右端点恰好跨越一个点。设当前剩下的点坐标是 \(pos_1 < pos_2 < ... < pos_m\) 那么不妨用一个 multiset 维护每个 \(r_j \in [pos_i, pos_{i+1} - 1]\)\(l_j\),删除 \(pos_i\) 时直接把 \(st_{pos_i}\) 合并到 \(st_{pos_{i-1}}\),并访问 \(st_{pos_{i-1}}\)\(st_{pos_{i+1}}\) 最大的 \(l_j\) 更新即可。复杂度 \(\Theta(n\log^2n)\)

考虑更优秀的复杂度,把每个线段插入到线段树上的 \(\log n\) 个节点,然后对于每个线段维护它所在的所有节点中点个数 \(=0,=1,>1\) 的节点个数,当更新一个节点 \(u\) 时,若 \(sum_u \le 1\) 就访问所有这个节点上的线段更新即可。复杂度 \(\Theta(n\log n)\)

G. Cosmic Travel

差分转化为 \(x \le m\) 的第 \(k\) 大和,那么套路地枚举 \(x\)\(m\) 的 lcp 下一位,在 trie 上模拟前这些位(若这一位是 \(0\),则先看 \(siz_{ls}\),不够就到 \(rs, k \leftarrow k - siz_{ls}\)),然后拆成 \(\Theta(\log V)\) 个询问一个子树异或任意数(不能超过这个子树能表示的最大数)的第 \(k_i\) 大和。注意到这个东西是与询问无关的,设 \(dp_{i,j}\)\(i\) 子树异或任意数的第 \(j\) 大和,状态数量为 \(\Theta(n \log V)\) 的(每个叶子统计 \(\Theta(\log V)\) 次)。

这里为了方便,可以把和设为只看子树里的这些位的和,类似地模拟转移即可。

复杂度 \(\Theta((n+q)\log V)\)

L. Intersection of Paths

考虑对于一个 \(k\),有那些点可能成为并的一个端点,考虑每一条边 \((u,v)\),如果删掉这条边后 \(\min(siz_u,siz_v) \ge k\) 这条边就合法,那么 \(u,v\) 就合法。那么假如不考虑更改边的话,答案就是只取这些点组成的虚树(一定是原树的一个联通块)的直径。

考虑 \(k\) 不同,并且加入更改边,由于大的 \(k\) 对应联通块一定被小 \(k\) 对应的完全包含,那么可以直径从小到大扫描线,每次从 \(k \to k + 1\) 时,把 \(\min(siz_u,siz_v) = k\) 的边删掉(更改边权为 \(0\))。

那么就是要实现动态修改边权,查询直径。考虑在欧拉序上做,每次遍历到 \(u\) 在 dfs 序后加入 \(u\),遍历 \(u\)每个 儿子回来后再加入 \(u\)。然后就是要找到一个区间 \([l,r]\)\(\max\limits_{l\le L \le a \le R\le r} dep_L + dep_R - 2 \times dep_a\),其中 \(a\) 肯定是 \([L,R]\)\(dep\) 最小那个。于是线段树上维护区间信息 \(ans,ansl,ansr,maxd,mind\) 对应上述答案、\(\max\limits_{L \le a} dep_L - 2 \times dep_a\)\(\max\limits_{a \le R} dep_R - 2 \times dep_a\),最大和最小 \(dep\)。合并时 \(ans = \max(ans_{ls},ans_{rs},ansl_{ls}+maxd_{rs},maxd_{ls}+ansr_{rs})\)\(ansl = \max(ansl_{ls},ansl_{rs},maxd_{ls} - 2\times mind_{rs}),ansr=\max(ansr_{ls},ansr_{rs},maxd_{rs} - 2\times mind_{ls})\)

显然支持修改,复杂度 \(\Theta((n+q)\log n)\)

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

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

相关文章

vs2015安装包丢失或损坏解决工具 或者不能启动

打开“本地组策略编辑器”(gpedit.msc)。展开“计算机配置”>“管理模板”>“系统”>“Internet 通信管理”,然后选择“Internet 通信设置”。选择“关闭自动根证书更新”>,“禁用”,然后选择“确定”或“应用”。  下载最新的组件版本(备份的) https://lea…

uboot 启动自编写程序的方式

uboot 启动自编写程序的方式 uboot 存在 boot 命令。 自己最初在尝试撰写串口程序时,选择了使用汇编来完成。 在这段时间,自己使用 go 命令来尝试载入程序 先是在 Ubuntu 上搭建 tftp 目录 # /etc/default/tftpd-hpaTFTP_USERNAME="tftp" TFTP_DIRECTORY="/ho…

10.Java集合框架_List接口

集合与数组的区别数组:长度开始时必须指定,而且一旦指定,不能修改。 保存的必须为同一类型的元素。 使用数组进行增加/删除元素比较麻烦。集合:可以动态保存任意多个对象,使用比较方便。 提供了一系列方便操作对象的方法: add、remove、set、get。 使用集合添加,删除新元…

20240924

[牛半仙的妹子 Tree(tree)](http://ac.robo-maker.cn/d/contest/p/ZY1044?tid=66f28cd11bca2159e88c8fb0) 我们会发现其实牛半仙发癫时就等于将以前的标记清空,从头开始,所以我们可以考虑根号分治,如果两个牛半仙发癫的时间间隔小于 \(\sqrt n\) ,那么我们可以直接暴力枚举两…

『模拟赛』冲刺CSP联训模拟2

『模拟赛记录』冲刺CSP联训模拟2Rank 不重要了A. 挤压 你说的对,期望怎么能算签呢? 一个重要的性质:一个数的平方可以在二进制下表示为 \(\sum_{i,j}\ s_i\ s_j\ 2^{i+j}\),所以就可以分别求每一位对答案的贡献了。 设 \(f_{i,1/0,1/0}\) 表示到第 \(i\) 个数我们枚举的两位…

PbootCms上传图片变模糊、上传图片尺寸受限的解决方案

在使用PbootCMS的过程中,如果上传的图片被压缩变得模糊,通常是因为上传的图片尺寸过大。PbootCMS 默认的上传图片限制宽度为 1920 像素,缩略图的限制大小为 10001000 像素。可以通过调整这些参数来解决这个问题。 解决方案打开 config.php 文件 调整 max_width 和 max_heigh…

ROS基础入门——实操教程

ROS新人可看ROS基础入门——实操教程前言 本教程实操为主,少说书。可供参考的文档中详细的记录了ROS的实操和理论,只是过于详细繁杂了,看得脑壳疼,于是做了这个笔记。Ruby Rose,放在这里相当合理前言:本文初编辑于2024年10月24日 CSDN主页:https://blog.csdn.net/rvdgds…

PbootCMS增加可允许上传文件类型,例如webp、mov等文件格式扩展

在PbootCMS中增加可允许上传的文件类型(例如 webp、mov 等文件格式),需要在多个地方进行配置。以下是详细的步骤: 操作步骤 1. 修改 config.php 文件 首先需要修改 config.php 文件,增加允许上传的文件类型。打开 config.php 文件打开 config.php 文件,通常位于 /config …

出现“登录失败,表单提交校验失败”,请检查服务器环境

如果出现“登录失败,表单提交校验失败”,请检查服务器环境,然后刷新页面重试,或者删除 runtime 文件夹,然后刷新页面重试。 操作步骤删除 runtime 文件夹使用 FTP 客户端或 SSH 连接到服务器。 删除 runtime 文件夹:bashcd /path/to/your/site rm -rf runtime刷新页面清除…

多次密码错误导致登录界面锁定,可以删除网站的 runtime 文件夹

如果多次密码错误导致登录界面锁定,可以删除网站的 runtime 文件夹,然后刷新页面重试。 操作步骤删除 runtime 文件夹使用 FTP 客户端或 SSH 连接到服务器。 删除 runtime 文件夹:bashcd /path/to/your/site rm -rf runtime刷新页面清除浏览器缓存。 重新访问后台登录页面扫…

红日靶机(三)笔记

VulnStack-红日靶机三 概述 相交于前边两个靶场环境,靶场三的难度还是稍难一点,有很多兔子洞,这就考验我们对已有信息的取舍和试错,以及对渗透测试优先级的判断。涉及到对数据库操作的试错,对 joomla 框架 cve 的快速学习,php 中 用到disabled_function 的 bypass ,对li…

快乐数学2勾股定理0000000

2 勾股定理 在任意一个直角三角形中,两条直角边的平方和等于斜边的平方。 a + b = ca 和 b 分别表示直角三角形的两条直角边长度。 c 表示斜边长度。我们大多数人都认为这个公式只适用于三角形和几何图形。勾股定理可用于任何形状,也可用于任何将数字平方的公式。 2.1 了解面…