杂题记录
-
Paw 不难发现最终的局面大概是
<<...>>
,此时中间是确定的。那么考虑对于前 个空,形成<<<
的局面,并且不影响后面的概率。发现有 种操作,只有一种不可取,那么 ,最后求和即可。 -
Squid Game 值得注意的是这很树形 DP。将链分为直链和曲链,发现只用选根节点就可以覆盖所有曲链,也就是答案至多增加 ,那么先考虑处理直链。发现直链的关键点在 下面一个,考虑有没有必要选他。先假定不选,那么答案自然是 。然而如果是关键点,一种可能的情况是选
x
覆盖,顺便也就覆盖了经过x
的那些链,那么需要用 来更新答案。最后呢,对于曲链 ,还需要利用 对答案取个 ,因为爱情。 -
[AGC045B] 这里讲一下二分的做法。
其实看到这道题的第一眼就应该想到二分,但是这个 check
比较麻烦。
将 看作网格在上下,我们手模一下可能的路径,发现一定是一个区间的奇数或者偶数位置。
这是样例
0??0
的图。
现在我们需要将路径限制在一个大小为 的区间内,看是否有合法路径,这很抽象,因为上下限会随着路径而改变。但是有个十分新奇的思路,我们设置 个起点,限制在一个 的长条内。
这是当 时的三条路径。
如果将三者重叠,我们会发现每一列的合法位置是一个区间:
那么我们二分的时候维护这个区间即可,但是此时我们发现样例过不去。
对于 0??0
在 时,如果单纯的维护上下界会存在如下情况:
红色为实际的合法路径,但是我们会将黑色的两个点都覆盖进去。回顾 可能的路径,发现一定是一个区间的奇数或者偶数位置
,那么我们可以将奇偶位置分开考虑,这样如果越过边界,那么利用 来修正即可。
代码非常简单:https://atcoder.jp/contests/agc045/submissions/49005863
- # [ARC154E] Reverse and Inversion 非常好题目,经过一番神秘的推导变换,我们将式子变为了 的期望。由于 的期望很难求,考虑求 所在位置的期望。一个关键的考虑是如果 被任意操作覆盖后,期望所在的位置为 。否则位置不变。随便计算一下,那么就搞定了。
- # Mother of Dragons 大概是说先利用神秘的变换使得问题转化为求最大团。接下来就可以乱搞了……考虑状压,实际上有用的状态只有 个,记忆化即可做到正确的复杂度。然而状压怎么做?考虑状态 ,随便考虑一个点 ,一种可能是这个点不在点集内,那么就是 。另一种考虑是这个点在,那么 只能和 能到的点集取交,于是就从 转移即可。
- # Cheap Robot 很像
刀言刀语
这道题,进行多源 djk,然后建一颗最小生成树即可。 - # Frequency Problem (Hard Version) 非常抽象题,与出现次数相关,应该和根号相关。一个关键的结论是必须包含全局众数,否则一定可以继续扩展当前的区间直到全局众数为众数。然后我们来玩根号分治,对于出现次数 的数,可以 暴力的做,并且这是简单的。但是对于 的数呢,考虑出现次数是 级别的,我们可以枚举全局众数的出现次数,利用滑动窗口来求解。至于会不会遗漏答案呢,考虑滑动窗口不会向后移动,那么可能出现的情况如图在枚举的次数 时会遗漏答案。
,而这可能发生,当存在一个非众数在某一段密度很大,但是此时全局众数密度很小,或者反过来也是。但是此时,我们一定可以将区间向外扩展,也就是忽略的情况比答案劣。所以不会遗漏答案。
- # Permutation for Burenka 发现两个序列类似,当且仅当两者的笛卡尔树同构。于是同构吧,发现每个结点合法的值都是一个区间,并且答案的值也是一个区间。相当于现在有一些区间和一些点,用这些点来覆盖这些区间,求剩下的至少/至多为多大。这是简单的贪心。但是注意判断无解的情况。
- # [ARC135D] Add to Square 离谱的构造,看到方格,想想黑白染色,顺便也就将黑白的正负号逆转一下,那么发现操作后行列和不会变化。可以得到两个矩阵可以相互转化当且仅当行列和全等。那么开始构造,如果行列符号相同,那么随便放一个绝对值小的就可以消掉一行。接下来如果行列符号不同,那么我们只在行间或者列间平衡即可。这样可以构造出下届 。
- # [ARC149E] Sliding Window Sort 非常好题目。首先发现的是如果 ,那么后面的操作都只是让 前 小数循环位移,将这些数提出来单独位移一下就可以得到 时的序列。当 时,我们只需要将后面没有用到的数都删掉,离散化一下有变成了 时的请况。问题简化了,来啃硬骨头。发现如果存在一个 前面有 ,那么 就不能在前面存在,反之, 可以存在在长为 的区间中,任意位置,那么方案即使剩下的 个数的前缀最大值的个数幂次 。不过最大的 个数任意填,那么需要有一个 的系数。
- # [ARC156F] Make Same Set 非常好题目,对于网络流的抽象理解又抽象了很多。考虑单纯的网络流只能解决可以不选的情况。但是如果我们在开始,在网络流上就强制了所有能选 的选 ,得出的答案就会是正确的,考虑为什么。
这是可能建出来的图,考虑一个都不选的路径,大概就是说对应的路径都没有流,也就是存在一条流曲折流过来将流给堵住了,使得这个点都不选,但是在此之前,这条路是存在流的。也就是只有非最短路流才会导致这个情况。那么利用
dinic
,每次沿着最短路走,就不会有这个问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App