2024.5~6 训练日记
\(\color{grey}\bigstar\) 可以秒杀的题。
\(\color{green}\bigstar\) 思考一会儿后可以秒的题。
\(\color{blue}\bigstar\) 需要较长时间思考的题。
\(\color{#F1C40F}\bigstar\) 看题解、稍加指点就会做的题。
\(\color{red}\bigstar\) 看题解后需要较长时间消化,甚至现在都没有完全理解的题。
题目后面会写一点评价与感悟。按照 Linshey 意见,一套模拟赛算 \(1\) 题。
日期范围:\(5.19\sim 6.30\)。总计过题:\(116\)。
5.19
当天过题数:\(11\)。
\(\color{green}\bigstar\) P5164。
$\texttt{solution}$
简要题意:给定 \(0\sim 2^n-1\) 这些点,对 \(\forall i,j\) 满足 \(|\text{popcount}(i)-\text{popcount}(j)|=1\) 连边。若这个图有欧拉回路则称 \(n\) 为好数。
输入 \(m\),输出 \([1,m]\) 的所有好数。
注意到有欧拉回路当且仅当每个点度数为偶数。考虑把所有 \(\text{popcount}\) 相等的点缩成一个等价类 \(S_i\),其中 \(|S_i|=\dbinom{n}{i}\)。
考虑 \(S_k\) 中点的度数,应为 \(\dbinom{n}{k-1}+\dbinom{n}{k+1}\)。于是 \(\forall 0\le k\le n,2\mid \dbinom{n}{k-1}+\dbinom{n}{k+1}\)。
取 \(k=n\) 得到:\(2\mid \dbinom{n}{n-1}\Rightarrow 2\mid n\)。
又得到:\(\forall i\equiv j\pmod 2,\dbinom{n}{i}\equiv \dbinom{n}{j}\pmod 2\)。
由于有 \(\dbinom{n}{0}\equiv 1\pmod 2,\dbinom{n}{n-1}\equiv 0\pmod 2,2\mid n\),于是推出 \(\forall k,\dbinom{n}{k}\equiv k+1\pmod 2\)。
移项:\(1\equiv \dfrac{1}{k+1}\dbinom{n}{k}\equiv \dfrac{1}{n+1}\dbinom{n+1}{k+1}\equiv \dbinom{n+1}{k+1}\pmod 2\)。
于是 \(\forall 1\le k\le n+1,2\nmid \dbinom{n+1}{k}\)。
应用 Kummer 定理,有 \(\forall 1\le k\le n+1,(n+1)-k\) 的二进制计算中不会退位。
于是 \(n+1=2^m-1\Rightarrow n=2^m-2\)。枚举输出即可,记得开 ull。
\(\color{green}\bigstar\) P5167,考虑从尾到头的 dp,由于 \(\gcd,\text{and},\text{or}\) 的性质,会分成 \(O(\log V)\) 个区间转移,由于 dp 没有单调性,线段树维护区间 dp 最大值即可,复杂度 \(O(n\log n\log V)\)。
\(\color{#F1C40F}\bigstar\) P5165,记 \(\mathbb{E}(i)\) 表示 \(i\to 0\) 的期望步数,写出 \(i\) 与 \(i-1,i+1\) 的关系,推推式子即可。
\(\color{#F1C40F}\bigstar\) P5169,妙妙题!考虑 \(u\to v\) 的一条路径的 xor 和应为其 dfs 生成树上路径 xor 和与树上若干环的 xor。
注意值域很小,用线性基求出 \(S\) 表示若干环 xor 能表示的数的集合,记 \(s_u\) 表示 \(u\) 到根路径上的 xor 和。
记 \([x^t]f(x)=\sum\limits_{i=1}^n [s_i=t],[x^t]g(x)=[t\in S]\),则询问 \(t\) 时的答案为 \([x^t]f\times f\times g\),其中乘法为 xor 卷积。做 FWT 即可。
\(\color{#F1C40F}\bigstar\) CF1188A2,解法请自行阅读题解。
\(\color{green}\bigstar\) CF1658D2,考虑枚举所有可能 \(x\),然后用 trie 数求下 \(\text{xor}\ x\) 的最小最大值看是否为 \((l,r)\) 即可。
\(\color{#F1C40F}\bigstar\) P5166,没想出这题太唐了。考虑连成的 deg,就是求区间入度为 \(0\) 的点的个数,修改为区间入度 \(+1\),线段树维护即可。
\(\color{red}\bigstar\) ABC354G,考虑先把包含关系连边,连出传递闭包,然后欲求其最大权独立集合。考虑把每个点拆成左部点和右部点,原图中有连边的这里左向右连权值 \(\infty\) 的边,\(S\to i,i'\to T\) 连权值为 \(a_i\) 的边,则答案为 \(\sum a_i\) 减去最小割。
\(\color{#F1C40F}\bigstar\) AGC031D,写出前几项找规律,具体看题解。
\(\color{#F1C40F}\bigstar\) P8633,polya 定理板题,枚举置换计算即可。
\(\color{#F1C40F}\bigstar\) ABC284H,前置题目:P4128,改下式子满足每一个数都要用到,推下容斥即可。注意这题是任意无向图不是完全图,应乘一些 \(2\) 的幂次描述每个置换环都有/都没有边。
5.20
当天过题数:\(4\)。
\(\color{green}\bigstar\) P3766,随便推推式子,\(k\ge 3\) 暴力,\(k=2\) 时 \(n\) 小的暴力,否则积分估计。
\(\color{green}\bigstar\) ARC178C,想象把 \(b\) 排序推个式子,做个种类数不大的背包即可。
\(\color{green}\bigstar\) P10515,你怎么知道我不会求阶?太唐了。转化为求模素数阶,试除 \(n-1\) 的质因子判断即可。
\(\color{red}\bigstar\) CF346E,妙妙题,用类欧思想,请自行阅读题解。
5.21
当天过题数:\(2\)。
\(\color{green}\bigstar\) P3973,推推式子,转化为 P4174,CF1082G 这对双倍经验。
\(\color{green}\bigstar\) CF809C,thuwc2024 T1 类似题目,请自行查看题解。
5.22-5.23
生病。
过题数:\(1\)。
\(\color{green}\bigstar\) P10517,五倍甚至四倍经验,圆方树板子题。
5.24
当天过题数:\(7\)。
\(\color{green}\bigstar\) ARC175D,简单题,考虑每个点处 LIS 和它父亲处的关系,打上 \(0/+1\) 的 \(\texttt{tag}\),转化成选若干 \(siz\) 和 \(=m\),注意到贪心的从大到小选一定优,构造随便构造一下就行。
\(\color{green}\bigstar\) AGC020,简单 bitset 优化背包。
\(\color{#F1C40F}\bigstar\) P10531,结论题,请自行阅读题解。
\(\color{#F1C40F}\bigstar\) P10527,幽默结论题,请自行阅读题解。
\(\color{green}\bigstar\) P7670,双倍,简单题,考虑如果 ? 个数很少,则枚举填 \(0/1\) 即可,然后若 \(0/1\) 的个数很少,可以考虑容斥加减子集/超集和即可。由于抽屉原理,复杂度为 \(O(L2^L+Q2^{\lfloor L/3\rfloor})\)。
\(\color{green}\bigstar\) P3320,比昨天那个P10517还板。。。写这个纯纯为了博客找例题。
\(\color{#F1C40F}\bigstar\) P5168,缝合题,单 \(\log\) 做法唐了没想到,请自行阅读题解。
5.25
当天过题数:\(5\)。
\(\color{#F1C40F}\bigstar\) P10524,请自行阅读题解。
\(\color{red}\bigstar\) CF1681F,这种套路见一次不会一次。详见博客。
\(\color{#F1C40F}\bigstar\) P5571,注意到 \(O(n^3)\) 的时间能过,只需优化空间,对面积做个值域分块即可。
\(\color{red}\bigstar\) P7216,正解太难写了,写了乱搞。
\(\color{green}\bigstar\) P2675,shaber 题,为了调整状态做的。
5.26
当天过题数:\(8\)。
\(\color{#F1C40F}\bigstar\) P5296,挺典的一个矩阵树转化用多项式当边权,难点在于实现?
\(\color{#F1C40F}\bigstar\) ABC355F,经典的 MST 性质题。
\(\color{red}\bigstar\) P3561,结论题,参考竞赛图强联通分量研究,但是味道香,耐调王。
\(\color{#F1C40F}\bigstar\) P5934,结论题,能在最小生成树上当且仅当 \(<L\) 的边加上后 \(u,v\) 不联通,跑最小割即可,最大生成树同理。
\(\color{#F1C40F}\bigstar\) P2757,CF452F 双倍经验。妙妙题,请自行阅读题解。
\(\color{#F1C40F}\bigstar\) CF1726E,感觉其实在能力范围内,但是差点底力。
$\texttt{solution}$
排列依然是考虑置换环。注意到除了大小为 \(1,2\) 的置换换,只能有形如 \(p(i)=j,p(i+1)=j+1,p(j)=i+1,p(j+1)=i\) 这样的四元置换环。相当于 \(i,j\) 要恰有一个反着匹配。
首先记 \(f_i\) 表示长度为 \(i\),只能有 \(1,2\) 元置换环的方案数,这时容易的,直接 \(f_i=f_{i-1}+(i-1)f_{i-2}\) 递推即可。
然后枚举四元置换环个数 \(i\),考虑此时 \(f_{n-4i}\) 的系数。首先从 \(n\) 个数中选 \(2i\) 个相邻对,然后配成 \(i\) 组,然后对对每组选定前后顺序。
从 \(n\) 个数中选 \(k\) 个相邻对,相当于在 \([1,n-1]\) 中选 \(k\) 个不相邻的数。考虑两个之间的差,相当于选 \(k\) 个正整数,使得除了第一个外其他都 \(\ge 2\),且和不超过 \(n-1\) 的方案数。
这是经典问题,枚举和,答案为 \(\sum\limits_{i=0}^{n-1}\dbinom{i-(k-1)}{k-1}=\dbinom{n-k}{k}\)。
配成 \(i\) 组,然后对每组选定前后顺序。考虑从 \(2i\) 个数中选 \(i\) 个当左部点,对剩下 \(i\) 个任意排列,即 \(\dbinom{2i}{i}\times i!\)。
于是 \(ans=\sum\limits_{i=0}^{\lfloor n/4\rfloor} \dbinom{n-2i}{2i}\dbinom{2i}{i}i!f_{n-4i}\),复杂度线性。
\(\color{green}\bigstar\) P4370,简单题,看到前 \(k\) 大直接上优先队列,考虑如何比较两个组合数,取 \(\ln\) 即可,每次取出 \(\dbinom{n}{m}\) 的时候加入 \(\dbinom{n-1}{m}\) 即可。
\(\color{#F1C40F}\bigstar\) CF980E,我贪心想假了。钦定 \(n\) 为根,正确的贪心是从大到小考虑选上的数,由于它选上了它到根上的所有点都必须选,于是若剩余足够直接贪心选取它到根的路径上所有点即可,单点加、到根的链和转化为子树加、单点值,树状数组维护即可。
5.27
当天过题数:\(2\)。
\(\color{green}\bigstar\) CF1416C,水的,建出 trie 数,按位考虑,做个归并排序然后每一位单独选最优的即可。
\(\color{#F1C40F}\bigstar\) P8511,这题做不出来是绝对不应该的!考虑很多答案都是全局异或 \(\max\),设构成全局 \(\max\) 的两个点为 \(u,v\),则只有 \(u,v\to root=1\) 的路径上点答案有变化,对这每条链暴力加点,trie 树维护:插入、查询 \(\text{xor}\) 一个数 \(\max\) 即可。
5.28
当天过题数:\(2\)。
\(\color{green}\bigstar\) 任意基DFT。换基罢了。参考,我推的式子和这个大差不差。
\(\color{#F1C40F}\bigstar\) CF798D,牛牛构造题。
5.29
当天过题数:\(1\)。
\(\color{red}\bigstar\) P10283,困难题。
5.30
当天过题数:\(1\)。
\(\color{#F1C40F}\bigstar\) CF1863F,困难的,先考虑立方区间 dp,然后考虑条件,转化为 highbit 相关,做到 \(O(n^2)\)。
5.31
当天过题数:\(5\)。
\(\color{green}\bigstar\) CF1268B,猜结论即可,证明回头再想。
\(\color{green}\bigstar\) P4309,经典的排列 LIS 交换两维,用 rope 维护一下插入即可。
\(\color{#F1C40F}\bigstar\) P4484,杨表板子(疑)?学习科技即可。
\(\color{green}\bigstar\) loj 6051,推式子 \(+\texttt{FFT}\),在了解杨表的情况下没啥难度。
\(\color{green}\bigstar\) gym102538D,依然是会了杨表就会的题,没啥好说的。
6.1
当天过题数:\(7\)。
vp thupc2024 决赛,ICPC2024 Xi'an I。
\(\color{#F1C40F}\bigstar\) P10543,注意到最后情况为一条路径加若干散点,考虑钦定路径为最短路,考虑剩下点个数的奇偶性,正确性请自证。
\(\color{#F1C40F}\bigstar\) P10541,注意到本题为P2762加上可研发的条件,把技术拆一遍点,和那题类似建图,自己思考一下咋连边跑最小割。
\(\color{green}\bigstar\) P10548,要思考的挺多的,大概就是对于所有 \(S\) 计算 \(S\) 集合中所有行星共线的概率,然后子集反演容斥下。中间式子自己推咯,有个小 trick 就是只需判断所有行星是否和集合中的第一个行星共线。式子中有个 lcm 难处理,需要分解质因数算幂次。慢慢写吧,我赛时被创了。
\(\color{green}\bigstar\) P10554,shaber 题,注意到 \(k<n\) 于是必有一行没选,枚举这行,然后跑 bitset 优化一下即可 \(O(\frac{n^3}{w})\)。
\(\color{green}\bigstar\) P10556,对于每个 \(a_i\) 枚举公差贡献即可,注意公差可能为 \(0\),要特判 \(i=1\),复杂度线性对数。
\(\color{green}\bigstar\) P10562,注意 \(a,b\) 很小,枚举,先出直线解析式,然后对边界情况暴力判断即可。
\(\color{green}\bigstar\) P10558,简单博弈。
6.2
当天过题数:\(3\)。
\(\color{#F1C40F}\bigstar\) P5548,uoj#450 复读机加强版,请自行阅读题解。
\(\color{green}\bigstar\) P4423,我是乱搞大神啊!随机旋转一定角度,然后按 \(x\times y,x,y\) 分别排序,计算排序后下标距离小的几个点的周长即可。
\(\color{green}\bigstar\) P6247,最有效率的一集,一样的乱搞方法直接过了。
6.3
当天过题数:\(7\)。
\(\color{#F1C40F}\bigstar\) P10559,需要对于根号分治做此类问题有很深刻的理解,对边定向,做到 \(O(qB)\),其中 \(B=10\)。
\(\color{green}\bigstar\) P10550,贪心一下,然后就是二维数点板子题。
\(\color{#F1C40F}\bigstar\) P6788,推式子题,没啥好说的,建议学习一下 \(O(n^{2/3})\) 的做法。
\(\color{#F1C40F}\bigstar\) P6860,发现满足条件当且仅当 \((a,b)=1\and a\not\equiv b\pmod 2\),然后推一下式子杜教筛即可。
\(\color{green}\bigstar\) P4988,推式子 \(+\texttt{exBSGS}\),板子题。
\(\color{green}\bigstar\) P6800,和前几天写的 任意基DFT 一样的。
\(\color{green}\bigstar\) P6197,曾经是 shaber 卡常题,随便推推式子就行了,经典斐波那契状数列结论了。
6.4
当天过题数:\(2\)。
\(\color{#F1C40F}\bigstar\) P5271,牛子构造题,考虑 \(k\) 维,每维四则运算 \(\bmod p\) 的向量,寻找若干不同且没出现过的 \((\vec{x},\vec{v})\) 对,构造 \(\{\vec{x}+k\vec{d}\}(0\le k<p)\) 即可。
\(\color{green}\bigstar\) loj 6098,切比雪夫转曼哈顿板子题,没啥好说的。
6.5
当天过题数:\(2\)。
\(\color{green}\bigstar\) loj 6241,被 tag 诈骗了,唐唐。
\(\color{#F1C40F}\bigstar\) P4233,竞赛图哈密顿回路这篇文章知识加上多项式推式子。
6.6
当天过题数:\(1\)。
\(\color{#F1C40F}\bigstar\) loj 6358,很好的容斥 \(+\) 二项式反演题,式子有点小难推。
6.7
当天过题数:\(1\)。
\(\color{red}\bigstar\) loj 6271,很好的单位根 \(+\) 矩阵树题,使我的代码旋转。大晚上写这东西崩溃了。
6.8
打了 The 3rd Universal Cup. Stage 1: St. Petersburg,场切的题都太水了,只看做 \(1\) 题。
当天过题数:\(2\)。
\(\color{#F1C40F}\bigstar\) qoj 8790,很好的随机化题。
6.9
当天过题数:\(7\)。
\(\color{#F1C40F}\bigstar\) CF1592E,枚举 \(>\) 的最高位,注意到长度一定为偶数,观察性质即可。
\(\color{#F1C40F}\bigstar\) qoj 8781,赛事蠢蠢。考虑 bitset 预处理 \(f_{i,j}\) 表示 \(p_{i}<p_{i+j}\),然后需要维护连续 \(m\) 个的 \(\text{and}\),按 \(m\) 分块,每块处理 \(pre/suf\) 即可。
\(\color{#F1C40F}\bigstar\) P10542,在面对这道题时脑子会莫名犯蠢,不知道为什么。写出 dp 式子后根号分治即可。
\(\color{#F1C40F}\bigstar\) ABC321G,很好的容斥题,不过多描述。
\(\color{#F1C40F}\bigstar\) CF1889D,很好的基环树思维题,注意到基环树的环是无用的,消环弹栈。
\(\color{green}\bigstar\) qoj 8794,优美的构造题,限制比较死,建议自己思考。
\(\color{green}\bigstar\) P6078,简单生成函数题,注意时空很小,算贡献即可。
6.10
当天过题数:\(5\)。
\(\color{green}\bigstar\) P9896,基础的 EGF 练习题,都到现在了当然得熟练这种手法了。
\(\color{#F1C40F}\bigstar\) P4152,难点在于处理莫反后的式子,找到方法整除分块,正解的做法感觉上是有黑的,但很多人卡常假做法过了。
\(\color{#F1C40F}\bigstar\) uoj 62,很好的莫反推式子题,挺新颖的形式,值得总结一下。
\(\color{#F1C40F}\bigstar\) ABC317G,二分图完美匹配的结论好题啊,很好的套路。
\(\color{#F1C40F}\bigstar\) AGC012D,其实就一简单题,自己蠢了。
6.11-6.21
备战中考。别问为啥做那么多题,考完那天做的。
打了 The 3rd Universal Cup. Stage 2: Zielona Góra,场切的题都太水了,只看做 \(1\) 题。
过题数:\(6\)。
\(\color{green}\bigstar\) P10597,生成函数水题。
\(\color{#F1C40F}\bigstar\) P10588,借此题向神鱼请教了整式递推,这种题以后也要熟练掌握,题解。
\(\color{#F1C40F}\bigstar\) P10636,难点在于找到优美的表示式子,我推的式子全部都是不可做的。找到后就很简单了。
\(\color{green}\bigstar\) P10594,难点在于读懂题目,计算这个式子还是很简单的。
\(\color{green}\bigstar\) P10640,不好评价这题,鉴定为 MO 题。
6.22
中考完合法划水 \(1\) 天。
6.23
当天过题数:\(2\)。
\(\color{green}\bigstar\) ABC359G,当做虚树练习题,练手新的虚树构建方式。
\(\color{#F1C40F}\bigstar\) loj 6044,很好的 prufer 序列计数题。
6.24
当天过题数:\(2\)。
校内模拟赛 \(\times 1\)。
\(\color{#F1C40F}\bigstar\) P10592,容斥的部分有点小文章。
6.25
当天过题数:\(6\)。
vp The 2nd Universal Cup. Stage 28: Chengdu。
\(\color{#F1C40F}\bigstar\) P9527,牛牛套路。
\(\color{#F1C40F}\bigstar\) AGC004D,小思维题。
\(\color{red}\bigstar\) AGC015D,太困难了!
\(\color{#F1C40F}\bigstar\) P10591,很牛的容斥题啊!
\(\color{#F1C40F}\bigstar\) CF1338E,gie 图好啊!
6.26
划水 \(1\) 天。
6.27
当天过题数:\(6\)。
\(\color{green}\bigstar\) P10648,简单启发式合并题。
\(\color{red}\bigstar\) P7428,很深刻的题啊!
\(\color{green}\bigstar\) P10643,和上题类似的,会了上面就能很快会这个题。
\(\color{#F1C40F}\bigstar\) CF949E,妙妙题。
\(\color{#F1C40F}\bigstar\) P10647,P2088,P4404,P3419,SP688,五倍经验!妙妙贪心题。
\(\color{#F1C40F}\bigstar\) ARC105E,发现最后一定是 \(1,n\) 分居两个完全图中,然后写出式子,分讨 \(1,n\) 连通块大小奇偶性即可。
6.28
当天过题数:\(2\)。
\(\color{#F1C40F}\bigstar\) CF303C,绝世好题。
\(\color{green}\bigstar\) P7360,推式子好题!重要的是了解了 von Mangoldt function。
6.29
打了 The 3rd Universal Cup. Stage 3: Ukraine,场切的题都太水了,只看做 \(1\) 题。
当天过题数:\(6\)。
\(\color{green}\bigstar\) CF165E,简单高维前缀和题。
\(\color{green}\bigstar\) P10663,套路题。
\(\color{red}\bigstar\) AGC009E,困难题。
\(\color{#F1C40F}\bigstar\) CF1982E,想到了就是妙妙题,我想更麻烦的方法了。
\(\color{#F1C40F}\bigstar\) P10598,网络流部分处理很新颖,计数部分纯粹是自己蠢了。
6.30
当天过题数:\(3\)。
验数论题 \(\times 1\)。
\(\color{#F1C40F}\bigstar\) CF1144G,神秘构造题。
\(\color{#F1C40F}\bigstar\) CF1693D,和上面那题有点类似,但有个分治做法很神仙啊!