2024.4 做题纪要
aaaaaaaaaaaaaaaaa
大致是在成七集训,虽然挺多都是 3 月底的不过还是整一下。
2024.3.30
T2 简单题
给定正整数
,定义集合 ,求一个大小为 的子集,满足两两不存在倍数关系且和最小,输出最小的和。
我感觉这种题应该见过不少次了,不过见到还是不会做,流汗。
但是这题好像各种贪心都能过,流汗。
考虑将数写成
2024.4.1
T3 木棍
有
根长度相同的木棍,长度均为 ,每个木棍要放置在 的区间内,要求木棍两两不能重叠。此外还有 条额外限制,要求 区间内的木棍最多有 根。
,
首先显然可以把线段转化成点,满足每两个点之间距离至少为
记
考虑如何限制区间和,前缀和一下,发现限制就变成了若干
首先要解决的问题是,现在点数是关于值域的,肯定没法直接跑。注意到我们只关心这张图存不存在负环,所以我们尽可能最小化环的长度。首先对于这两个贡献函数来说,都有
考察正常 Bellman-Ford 算法,我们令
AGC059E Grid 3-coloring
我真的是抽象完了的做法。真的以后不瞎寄吧编做法了,做这题给我做吐了。
相邻两个位置不相等是一个很抽象的的条件,考虑转化一下,把颜色看作
我们把右上边框和左下边框分成两部分,那么这个矩形就可以看作是左下边框到右上边框的若干条路径。注意此时左下与右上是若干连续段,我们考虑保留一段连续段中最靠中间的点,然后转化成这些点之间的路径,容易发现这两者是等价的。需要注意两个连续段内要求任意两点都是可以通过向右、上、右上走达的,所以如果两个段的左端点或者右端点之间不能互达那么就是无解的,需要先把这种情况判掉。
(关于等价的证明:对于左边框来说,由于靠上的段只能往上走,于是不会影响下面的段,所以我们只需要考虑这个连续段中最靠下的那个点能否到达右上角对应的段即可,显然通过这条路径划分的连通块内是包含整个连通块的。如果经过中点,我们考虑先把在中点往上的路径与中点往右的路径全部填好,此时只需要中间存在一条路径,就可以保证这个连续段内任意一个点都可以到达对面的点,所以只需要保留中点。)
那么现在问题转化成了,给定一个
我们可以转化成流的问题,可以容易的建出流图:
其中斜着的一对点是由一个点拆点得到的,为了限制一个格子至多走一次。黑色边是起点与终点的边,这些边容量可能为
我们的目的就是求出这张图的最大流。注意到这是一张平面图,我们考虑建其对偶图求最短路即可。
这里需要说明的一点是,我从网上找到的一些资料,全部都只提到了将边旋转后建出图,但是实际上在有向图的情况下,这样的图的最短路并不一定就是最小割,因为最小割并不一定在对偶图上形成连续的一条路径。所以我们还需要将对偶图所有边建一条反向的边权为
建出对偶图:
其中绿色边地边权对应着这一块有没有起点,其它的橙色边边权均为
观察对偶图可以发现,中间的点也可以看作是拆点,然后可以向右、下、右下走。注意到向下、右走都可以走一条反边加一条正边,而向右下走至少经过两条边,所以此时向右下的边是没有意义的,所以我们实际上只会向下或向右。那么我们枚举在边框上的起点和终点,那么我们就能知道最短路了。由于在边框上走一定比在中间走更优,所以我们在中间部分一定只会往右或只会往下走,那么这样我们就只有
2024.4.2
T1 斩首 (Gym104901F)
考虑求出前缀答案
考虑怎么算
然后考虑怎么计算答案,同样可以分治,处理所有经过当前分治中心的
T3 战争
有一棵
个点的树,树有边权,初始全为 。有 个时刻,每个时刻进行一次操作,操作有两种:
1 x y
到 的链上加 ; 2 t
撤销第时刻的操作(保证一定是第一种操作且没有被撤销过)。 现在有
次询问,每次询问 时刻内,边权始终 的深度最大的边。定义边的深度为两个端点到根经过的边数的较大值。
考虑一个部分分,
考虑
2024.4.5
T3 Text
给定一个长为
、值域为 的字符串 ,多组询问,求字典序小于等于 的长为 Lyndon 串数。模数由输入给定。
这题好牛啊。
首先对于字符串
然后对于任意一个字符串,考虑其与字符串
那么我们就得到了一个充要条件:一个串小于等于
那么我们就可以上 Euler 变换,设
剩下的问题就是计算
2024.4.7
CF1707D Partial Virtual Trees
感觉是这个感觉,但是没懂怎么设计状态,菜了。
集合序列不好刻画,考虑用一组序列
记
; 。
我们设
CF1874E Jellyfish and Hack
有点流汗。nfls 考过一个类似的题,而且是在这之前,题目与解法的重合度比较厉害,,
反正就是直接 DP 然后插值优化就好了,复杂度
2024.4.8
T2 考拉爆炸
定义以下随机过程:给定一个长度为
的实数序列 和概率序列 ,与一个实数 ,保证 ,令 为随机变量,有 的概率为 ,有 的概率为 ,令 表示 个 的最小值的期望,给定 与 的值,求 。
赛时推出来了一个做法,但是太丑了一点也不优美,大概就不写了。
我的做法中用到了一个性质,赛时没推出来为啥,这里写一下:
令函数
,那么 可以用 线性表出。 证明:把函数平移一下,令
,发现 只有偶数次项有值,一共有 个系数。而同样的, 只有 个系数,那么这 个函数显然线性无关,于是他们显然可以线性表出 。
key observation 应该是注意到所有概率分布都是关于
可以得到奇数处点值
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略
2023-04-07 「解题报告」P9167 [省选联考 2023] 城市建造