代码源2025长训

news/2025/10/12 22:23:31/文章来源:https://www.cnblogs.com/2020luke/p/19137379

10/9 Day 16

A:非常可惜写的35pts暴力全部没分,也是神人了。首先需要一个小分讨,如果原树有双重心那么就会有如下情况:该边后的双重心不变和有可能改变;如果不变的情况就是说,对于双重心 \((u,v)\) ,我们加减边的总共4个点一定在 \(u,v\) 两个子树中的同一子树内,那么我们枚举断开的边 \(i\),连边的可能性就是子树 \(i\) 中任意一点到子树外的任意一点,这些贡献全部加到原双重心上;对于有可能改变双重心的情况就是,我们一定会断开原来连接双重心的那条边,然后将 \(u\) 子树中任意一点连接到 \(v\) 子树中任意一点,这样每个点都有 \(n/2\) 的贡献。对于判断双重心我们就以任意点为根,如果有 \(size_u=\frac{n}{2}\),那么点 \(u,fa_u\) 为双重心。

我们已经通过上面得知了成为双重心的条件,考虑如何满足它;也即我们要如何使得 \(size_u=\frac{n}{2}\)。考虑两种情况,\(size_u>\frac{n}{2}\) 和反过来;如果 \(size_u>\frac{n}{2}\) 那么我们需要将子树 \(u\) 内的一个满足 \(siz_v=siz_u-\frac{n}{2}\) 的点 \(v\) 移到子树 \(u\) 外去;如果 \(size_u<\frac{n}{2}\) 那么我们就需要找到子树外的一个点使得以 \(u\) 为跟时该点的子树大小为 \(\frac{n}{2}\) 并接到 \(u\) 的子树内,也即 \(new\_size_v=\frac{n}{2}-siz_u\)

考虑实现;对于第一种情况我们维护一个全局的桶 \(b\) 并进行 dfs,发现一个点一定会比它子树内的点都早遍历到而且会比它子树内的点晚回溯,那么我们分别维护 dfs 进入 \(u\) 时和向上回溯时的 \(b_{siz_u-\frac{n}{2}}\),将这两者相减即可得到其子树内的值。最后给答案乘上系数 \((size_{x}-\frac n2)(n-size_{x})\)

对于第二种情况就比较困难,首先我们考虑在 \(u\) 子树外的情况分两种,点 \(v\)\(root\to u\) 的路径上和不在路径上,若 \(v\) 不在路径上那么新的子树大小还是 \(siz_v\),如果在链上那就是 \(size_v-size_{son\_to\_u}\)。考虑具体如何实现,对于不在 \(u\) 上的 \(size\) 我们使用一个桶 \(ball\) 记录所有点的 \(siz\),然后拿这个减去我们维护的 \(b\) 对应的子树 \(u\) 内的值,这样我们还需减去所有在链上的点的 \(size\),我们继续维护一个全局桶,在 dfs 遍历到点 \(u\) 的时候这个桶维护的内容就是 \(root\to u\) 的链上不包括 \(u\) 的点的子树大小信息,这样向下递归的时候就加上 \(u\) 的子树大小,回溯时减去其父亲的子树大小即可;我们还剩下在链上的点的 \(new\_size\),同样可以使用求链上 \(siz\) 的办法,不过递归时不需要加上点本身的信息而需要 \(n-size_v\)。最后给答案乘上系数 \((size_{x}-\frac n2)(n-size_{x})\)

细节我们是在枚举 \(u\) 并统计贡献,但答案其实同时给 \(u,fa_u\) 造成贡献。

B:不是很可以补,只做了原题弱化版 https://atcoder.jp/contests/arc164/tasks/arc164_e.

10/11 Day 17 (Div 2)

A:发现任何一个存在众数的区间一定有一个形如 \(\{a,b,a\}\)\(\{a,a\}\) 的子串,那么我们只要枚举所有这样的字串即可。我们覆盖这样的一个子串的前提一定是这个字串之前的最大值 \(>a\),或者是 \(b>a\) 或是形如 \(\{a,a\}\)。如果该子串前的最大值 \(>a\) 那么每一次覆盖我们就往前直到最靠前的 \(>a\) 的值,往后我们就覆盖到最早的值 \(<a\) 的位置之前一个位置;如果不是子串前的最大值 \(>a\) 那么我们往前直到最近的一个 \(<a\) 的位置的(不包括),往后直到最近的一个 \(<a\) 的位置(不包括)。直接用线段树维护即可。

B:先考虑如果想让区间 \([l,r]\) 全亮并且 \(l-1,r+1\) 不亮是否可能,我们找到 \(mid=\frac{l+r}{2}\) 的左右两边最近的灯塔(如果不是左右两边都有则不可行),判断这两个灯塔中间的距离是否不超过左灯塔和左边界的距离 \(+\) 右灯塔和右边界的距离,这样必定能覆盖满。

考虑 dp,\(f_i\) 表示点 \(i\) 不亮(没被覆盖),前缀 \([1,i]\) 的可能情况之和。转移时考虑分两种;第一种前缀 \([1,i-1]\) 都亮,直接判断即可;第二种枚举 \(j\) 表示左边最近的不亮的位置,判断 \([j+1,i-1]\) 全亮是否可能,加上贡献即可。

统计答案时枚举每个点作为最后一个不亮的位置,判断 \([i+1,n]\) 全亮是否可行并加上贡献即可。

C:很神奇的题,将 \(a\) 加入 0-1trie,并 dp 求解 \(f_{u,k}\) 在字典树上某一个点的子树中在 \(s\) 任意的情况下第 \(k\) 小的值的最小值,转移直接从子树转移即可,这部分复杂度是 \(O(\sum cnt_u)\),其中的 \(cnt_u\) 是其子树中的数的数量;由于每加入一个数,就会对一条长度为 \(\log W\) 的路径产生 \(1\) 的贡献,所以复杂度为 \(O(n\log W)\) 的;或者可以像线段树一样理解每一层的点数都是 \(O(n)\) 的,共 \(O(\log W)\) 层。

对于询问我们可以考虑,我们将 \(l,r\) 转成二进制后,我们直接根据两者高位上相同的部分在字典树上跑,因为这一段的值一定是固定的。对于剩下的不同的值我们就可以使用类似带上下界的数位 dp 的办法求解,因为如果我们跑到了字典树上某一个点并且此时没有上下界限制我们就可以直接使用 \(f_{u,k}\) 的值。

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

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

相关文章

代码源国庆模拟赛

ABC 423 做题顺序a->b->c->d->c->d->c->e->d,吃了C*3+D*6共9发罚时,全部WA*1 C把一个减号左右两边写反导致出现负数爆炸了 D:能用prique别用set,常数大还会把元素去重,元素去重是很关键的…

CSP-S模拟30 2025.10.12

A. 灯若辰星 题面link 赛时 一眼看出\(F\)属于第一类斯特林数,但\(G\)死活找不出规律QAQ。 然后又没对\(F mod 2\)进行分讨,0pts遗憾离场。。。 正解 让我们分开求解 F 手搓几个样例可发现其中的递推关系 rt: 考虑以…

记录fiddler抓包mumu模拟器

fiddler设置设置完成后导出证书放入mumu模拟器的共享文件夹mumu模拟器设置 证书安装然后选中共享文件夹里的证书进行安装即可 代理设置代理主机名为电脑ip地址,代理端口为上述fiddler配置的端口号 配置完毕后即可抓包…

深入解析:2025年真实手机牧场CC攻击破防游戏盾?四维防御体系全面升级!

深入解析:2025年真实手机牧场CC攻击破防游戏盾?四维防御体系全面升级!pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…

神经网络读书报告

神经网络是模拟生物神经系统结构与功能的人工智能模型,其核心思想源于对人类大脑神经元连接机制的仿生设计。自 20 世纪 40 年代 “感知器” 概念提出以来,神经网络经历了 “兴起 — 低谷 — 复兴” 的多轮迭代,如今…

MinIO 介绍(2)--MinIO 客户端 mc 基本功能

本文主要介绍 MinIO 客户端 mc 的基本功能;文中所使用到的软件版本:mc RELEASE.2025-07-21T05-28-08Z、Centos 8.5.2111。 1、mc 介绍 1.1、mc 安装 这里主要介绍 mc 在 Linux 环境下的部署;可通过如下地址下载 mc …

关于UE5基础关卡创建的注意点

关于UE5基础关卡创建的注意点ue5 中解决一个一个map的加载问题(增加了开放世界支持),进行将整个单个map划分为多份map,来设定成为角色在哪个部分就加载哪个部分map制作一张新地图 选择open world组成了天气 第一个…

2025年10月恒温恒湿系统厂家最新推荐榜单,精加工车间/厂房/美术馆/仓库/计算机房/档案室/工业/工厂车间恒温恒湿空调系统公司推荐

2025年10月恒温恒湿系统厂家最新推荐榜单,精加工车间/厂房/美术馆/仓库/计算机房/档案室/工业/工厂车间恒温恒湿空调系统公司推荐随着科技的不断进步和各行各业对环境控制要求的提高,恒温恒湿系统在多个领域中的应用…

征集歌单

如题,不要外文歌,不要不好唱的,最好有些激情的。

ABC427 游记

快速出 $4t$ 跳去看 F 一直在实现错误的方法结束比赛。省流 快速出 \(4t\) 跳去看 F 一直在实现错误的方法结束比赛。10.11 内含剧透,请vp后再来。 不是题解!!!!!!! 赛前 忘了干了什么了,总之什么也没干,处在…

乐理 -02调式

调式(自然)大调音阶每个字母需要出现一次黑键的调 等音调

Python 基于python实现的图片压缩助手

程序及源码下载地址: https://gitee.com/ishouke/image-optimizer 图片压缩助手使用说明 适用环境 win11 imageOptimizer.zip 备注:win7可能存在兼容性问题,其它版本未验证 Centos7 imageOptimizer.tar 用途 批量压…

20232302 2025-2026-1《网络与系统攻防技术》实验一实验报告

1.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件。 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。 该程序同时包含另一个代码片段,getShell,会返回一个可用Shell。正常…

2023 ICPC ECfinal J

J. Travel 2 思维,模拟搜索。 如果从 \(u\) 选一条边到 \(v\),然后再从 \(v\) 又刚好选到一条边回来 \(u\),那么 \(u-v\) 这条边我们已经知道它分别在 \(u\) 和 \(v\) 里的排名了,一共有 \(m\) 条边,显然 \(2m\) …

嵌入式十六进制的地址转换成十进制MB单位

前言全局说明嵌入式开发经常会用到指定使用的内存区域大小或Flash存储芯片大小, 默认都是用16进制表示的,那么怎么换算成人在数学常用的10进制呢一、说明 1.1 基础知识: 在电脑中 0x 开头的都是十六进制表示法,我们…

编译qt【临时】

d:\qt1012\qtgitcode\Build\Work\qt5\qt5-build"..\configure.bat" -platform win32-g++ -xplatform oh-clang -device-option OHOS_ARCH=arm64-v8a -opensource -confirm-license -nom…

20232318 2025-2026-1 《网络与系统攻防技术》 实验一实验报告

一、实验目的本次实验聚焦于 Linux 平台下可执行文件 pwn1 的缓冲区溢出(BOF)漏洞挖掘与 shellcode 注入技术,核心目标是通过三种不同的技术路径篡改程序原有执行流程,从而触发程序中默认不可调用的 getShell 函数…

深入解析:在 CentOS 7.6 上安装 Oracle WebLogic Server 12c 详细教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …