4月记录
48.AT_arc064_d
对于任意本原回文串,如果长度为奇数,那么它的任意循环位移均不是回文串;如果长度为偶数,恰有一个循环位移同样为回文串。
还有一个回文串的所有循环节都是回文串。
我们对于最小循环节计数,就有 。
49.AT_arc065_c
没见过的 trick,曼哈顿距离与切比雪夫距离的互相转化。
50.[ NOI --四十连测第六套 ]--T1--魔术
考虑添加限制后全部满足,那么不满足的情况有 种,等价于添加反限制后无解。
无解即出现了同点的强联通分量,情况一:两点已经右边,这时候再加一条即可。
情况二: 或 满足 互相无法到达, 互相无法到达。
51.[ NOI --四十连测第六套 ]--T2--交友
容易对每个男生考虑其连向的点集合 。
新加一位,这个男生为 A
,其他男生为 B
, 中元素为 A
,其他女生为 C
(因为题目保证了女生互相联系)。
然后对男生女生分别加上其编号的二进制数,以男生为例,这个女生对应为应全填 C
,这下是 的。
发现若两个女生连向的集合不同,那么这两个女生再构造二进制前,编号已经不相同了。
所以可以想到对两侧分别合并联通块,满足同一联通块内的异侧集合相同,这样在构造二进制之前,联通块中所有相同,不同联通块的不同,再分别对每个联通块内部构造编号二进制。
以下视联通块个数少为左侧,左联通块数为 ,右边为 ,最大联通块大小分别为 ,满足 。
根据构造次数为 ,不难得到最劣情况下,除了最大联通块,其他大小都为 ,满足 。
对于第 位的问题,若左右侧联通块个数都不为 时无需构造。
当 时,这种情况容易处理。
-
若右侧联通块 ,那么次数为 。
-
否则,次数为 。
发现上述情况当 或 且 时,即联通块只有 和一堆 ,才能取到 。
这是,例如当 时:
另一种情况同理。
52.[ NOI --四十连测第六套 ]--T3--命运 (待补)
53.AT_arc065_d
表示前 填了 位,考虑一下上下界即可。
或者 表示 中填了 个 , 已经确定的方案数。
54.AT_arc066_c
https://www.luogu.com.cn/article/v14t76vl
55.AT_arc066_d
无 code。
记 表示考虑了前 位的答案,发现是可以斜率优化的。
再考虑修改,点 不选择的答案容易计算。
若点 选择,需要考虑左右端点。
56.AT_arc067_c
设计 表示考虑了人数 的组,一共选了 人的方案数,转移容易。
考虑分治,维护 表示考虑 的左端点,右端点为 时的答案, 同理,斜率优化容易处理,对单点修改的答案的转移就是前缀或后缀 ,维护凸包然后单调队列容易转移。
时间复杂度 。
57.AT_arc067_d
维护 个单调栈,扫描线一下即可。
观察到最优点单调,证明:
考虑右端点 的最优端点 ,那么对于 , 不优于 ,然后 的 包含 的,当 时, 和 的减去的差不变,但是 的 增长量 的,所以最优端点单调增。
考虑分治维护,每次暴力求中点即可。
再者是,单调栈求出每个点作为一个最大值时的左右端点的两个区间,二维矩阵加。
最后处理出矩阵查找最大值即可。
58.Codeforces Round 939 (Div. 2)
打出了真实水平。
CF1956C
对于 ,先填第 行,再填第 列,就能构造出最优情况了。
对于最终的矩阵,我们将 定义为大于或等于 的元素数。矩阵中所有元素的和是 ,因为值 的元素将在之前的公式中计算 的次数。
现在,我们证明 :
让我们重写这个问题,让它变得简单一点:
你有一个 乘以 的矩阵。在每个操作中,都可以在行或列中精确地将 单元格涂成白色,将 单元格涂成黑色。证明最多有 黑色单元格。
试图通过说明以加强结论:
对于任何大小为 乘以 的矩阵,每个操作都可以将一行绘制为 白色单元格和 黑色单元格,或者将一列绘制为 白色单元格和 黑色单元格。无论我们如何绘制,最终的矩阵将最多有 黑色细胞。
我们将用归纳法来证明这一点。
如果 或 ,结论成立。
否则,如果最后一个操作是绘制一行,那么该行具有正好 黑色单元格。并且,通过归纳,其他行将最多包含 黑色单元格。在最后一步中绘制列也是类似的。
然后,我们证明了上述结论。
因为上面的构造最大化了每个 ,所以这是最佳答案。
CF1956D
首先,若执行了长度为 的操作,那么数最大为 。
考虑最优解中每个区间的并,如果一个点所在区间的并为 ,那么如果这个区间所有数都取得 ,那么显然是最优的。
所以考虑对于一个区间将其所有数转化为 ,可以先通过不超过 次操作将所有数变成 。
给出伪代码:
//! a function which sets a_1 ... a_k into k.
function solve(k):
if k is 1:
operate [1,1]
return
end if
solve(k-1);
for i in [k-2, ..., 1]:
operate [1,i] //! this sets a_1 ... a_i into 0
solve(i)
//! here, a should be [i, i, ..., i, i+1, i+2, ..., k-1, 0]
end for
//! here, a should be [1, 2, 3, ..., k-1, 0]
operate [1,k]
return
CF1956E
four consecutive monsters have energy level and they did not die after rounds of spells, then will receive at least points of damage, will receive at least of damage, and will receive at least of damage.
所以执行了 次后,序列中不存在连续 个数。
单独考虑每种长度即可,涉及到数学计算。
59.CF1787F
码量大,代码估了。
首先可以玩出奇偶长度的环的变换。
题目要求开始环数最少,考虑合并相同大小连通块。
考虑无解,最后偶数连通块必须一直合并,所以若有一个大小为 的偶环,那么一定得有 的倍数个大小为 的环,并且偶环的合并只涉及到偶环。
考虑分组,对于个数 的部分就二进制分组,否则分成多个 即可。
60.AT_arc068_c
61.AT_arc068_d
题目问的显然是有多少个长度为 的排列,满足其可以被分成两个递减序列,然后乘上 ,表示使得第 位为 。
由某个定理可得,其等价于不存在 三个递增的数,记为性质 。
这个 太麻烦了,我们考虑 的反函数,,根据函数与反函数的关系, 具有性质 等价于 具有性质 。
于是问题转化为有多少个长度为 的排列,满足其可以被分成两个递减序列,使得第一位为 。
记 表示长为 的排列,第一位为 的方案数。
若 ,则 。
若 ,考虑第二位:
-
若 ,;
-
若 ,无解;
-
否则 。
发现答案就是从 走到 ,不越过 的线的方案数。
62.AT_arc072_c
63.AT_arc072_c
64.AT_arc075_d
65.CF794G Replace All
排除掉 的情况。
考虑 和 之间的对应关系,发现 具有长度为 的周期。
简要证明:
弱周期定理:若字符串 具有长为 和 的周期,且 ,那么 具有 的周期。
先去掉 相同的最长前缀和后缀,若 ,那么就有 同时是 的前缀和后缀,于是 有长度为 的周期。
再考虑 这多出来的一部分,若 ,那么 是 的前缀,也是 的前缀。
那么后面多出来的也是 也是 的后缀,那么 有长度为 的周期,且 ,那么 的周期也是有的。
证毕。
由上, 都可以表示为一个串循环若干次,那么 ,于是我们只需要关注 ,分别设为 ,则有 ,且 要么无零,要么两个都是零。
若两个都是零,那么 长度任意,方案数为:
根据莫比乌斯反演,容易线性求。
否则,有 ,其中 为最简形式。
则 ,当已知 时,方案数为:
再看回原序列的方案数,不妨设 ,那么方案数为:
这是个范德蒙德卷积的形式,容易化简。
66.[AGC001F] Wide Swap
考虑逆排列
67.AT_agc003_d
对质因数次数 之后的数即其关于 的对应数(这是唯一的),若他的数量 他对应数的数量,就加入他。
现在关键在于找对应值。
设 删除一个数的立方因子后的数为 ,删去原数 后的数为 。
则 的不同质因子数量 。
68.circle
曼哈顿距离有 种方向,相邻两个数有方向限制,dp
一下,可以解决某种排列下的最优解。
随机几次排列即可。
69.string
每种颜色只会进行操作 至多一次,且存在最优解先进行 再进行 。
计算每个点的最优出边。
不是每个联通块都是环,就是最优解。
否则,枚举断环的集合,以及新的出边,dp
即可。
70.如何证明李善兰恒等式?及其应用
https://www.zhihu.com/question/459956568
https://www.luogu.com/article/hi3ek1ck
71.【集训队作业2018】count
转化为笛卡尔树,满足叶子作为左儿子的次数最大值 。
二叉树转化为括号序列,节点包住左儿子,然后递归右儿子。
相当于前缀最大值 的括号序列个数。
折线容斥即可。
72.[AGC011E] Increasing Numbers
一个数是递增数当且仅当他能被至多 个 表示。
一个数 能被 个递增数表示当且仅当他能被至多 个 表示。
列出式子:
二分 ,高精度计算 得出他的十进制表示是否 即可。
递增枚举 也行。
73.[AGC005F] Many Easy Problems
设当前考虑点集大小为 。
转化为对每个点考虑其被算进的方案数。
容斥成不被算进的方案数,则点集所有点在 的同一个儿子内,则:
右边是一个差卷积,容易求出。
74.[AGC013C] Ants on a Circle
75.[AGC006D] Median Pyramid Hard
二分,转成 01
串,结论为相邻相同的最靠近中间的数。
本文来自博客园,作者:蒟蒻orz,转载请注明原文链接:https://www.cnblogs.com/orzz/p/18120949
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话