「Diary & Solution Set」January 2026 岁月不居,时节如流

2026.1.1

新的一年。不对啊为什么我又失语了,一定是停课导致的罢。虽然 whk 学习并没有用掉整个 12 月,但是找了一堆理由拖到 1 月再写,机智如我。

现在看来过去的一年发生了好多事情,随便甩一个形容词都能荡漾一笔,甚至不需要是形容词——但毕竟飘风不终朝,也不便再谏过往。已经忘了过去这一年有没有许下什么愿望定下什么目标,正好也不用再纠结实现的问题。时间的破碎感愈发严重,现在我已很难完全静下心海。或许任由其波纹荡漾也是一种静,我不知道。

我思我在我的彼方

书写我 关于我的真相

1.2

QOJ4218 Hidden Graph

就…就我不会 Brooks 定理和 Welsh–Powell 算法呗。

CF1630F Making It Bipartite

就…就 NOIP 前才看了偏序集宽度求法学了几周 whk 又忘了呗。

1.3

今早跟 yzq 随手翻了几下前几场 ABC 的题。已被 ABC 严肃击杀。

复健之路道阻且长,其实还有一种可能是原本就只有这个绿题做不起的水平😓。

晚上 ABC 光速通过 A~E,然后对着 F 发呆了 5min。随后发现好像大脑没开机,找到充要条件树状数组优化一下就过了,总共花了 27min 没吃罚时,感觉还行啊。随后一直做 G,基本上会了但是因为不会 Power Projection 一直红温到结束😅。

ABC436E Minimum Swap

大脑响应时间小于 NOIP T1,已经赢了。

这是经典问题,但是大脑没开机。过了几分钟想起来最小交换次数为 \(n\) \(-\) 置换环个数,方案数等于各置换环内部完全图生成树个数之积。然后推广一下就做完了。

ABC436F Starry Landscape Photo

看错了两遍题,建议先回去把英语提升至 145。大脑响应时间约等于 NOIP T1,输麻了。

看懂题之后相当简单啊,一个方案对应到极小的 \([l,r]\)\(b\) 就做完了。

ABC436G Linear Inequation

欸是原题不会做环节。记 \(V=\sum A\)

  • \(M\) 贼大,\(V\) 贼小。从低到高二进制按位考虑每个物品选的个数,就可以做容量为 \(V\) 的 01 背包,做到 \(O(NV\log M)\)

  • 如果不会上面的做法怎么办呢,观察到这个东西的 OGF 是类似付公主的背包状物,但是 \(M\) 很大没法直接卷,只好严肃学习 Bostan-Mori。核心思想是对于 \(\dfrac{P(x)}{Q(x)}\) 上下同乘 \(Q(-x)\) 消去分子奇次项然后分讨 \(m\) 的奇偶性递归。相信自己要用的时候一定会推罢。

AGC038F Two Permutations

最小割模型上边 \((u,v,w)\) 的意义:若 \(u\in S, v\in T\),则有 \(w\) 的代价。

ABC437G Colorful Christmas Tree

这为啥评黑。

每个点作为某个颜色出现的次数是确定的,对于每个点及其相邻点来说是一个匹配问题,跑出完美匹配即有解。由于 \(O(\sum n^2)\) 可过,构造直接暴力枚举模拟题意即可。构造的存在性由完美匹配可以构造性地证明。

此外在题解区看到了 \(O(n)\) 做法:考虑 dp,\(dp_{u,c}\) 表示以 \(u\) 为根的子树内部全部删去,且提前钦定删去 \(u\) 与父亲时 \(u\) 的颜色为 \(c\) 是否合法。转移时是做一个左部点 \(O(1)\) 右部点 \(O(d)\) 的匹配,直接 Hall 定理即可,构造也是简单的。

ABC438E Heavy Buckets

简单倍增没秒。

ABC439G Sugoroku 6

场上好像差的不是一点,连怎么快速算第 \(i\) 轮赢的概率都不会(后半部分倒是差不多做出来了)。还是菜了,以此作为深入学习生成函数乃至数学甚至高中数学的契机叭。

\(f_i\) 为前 \(i\) 轮还没有赢的概率。对一轮骰子摇出来点数的概率,有生成函数 \(F(x)=\dfrac{1}{M}\sum\limits_{i=1}^M x^{A_i}\)\(F^i(x)\) 即表示 \(i\) 轮后走到某个位置的概率。于是 \(f_i=\sum\limits_{k=0}^{N-1}[x^k]F^i(x)\),乘上前缀和算子 \(\dfrac{1}{1-x}\) 变为 \([x^{N-1}]\dfrac{F^i(x)}{1-x}\)。这是 Power Projection 的形式,只不过多乘了一个 \(\dfrac{1}{1-x}\),将其展开为 \(\sum\limits_{i=0}^{N-1}x^i\) 放到分子上照常做 Bostan-Mori 即可求出 \(f\)

后半部分比较简单,是对每个 \(i\) 计算 \(\sum\limits_{k=1}^N (f_{k-1}-f_k)f_k^{i-1}f_{k-1}^{L-i}\)。考虑到对 \(1\leq i\leq L\) 都要求答案,又有个求和的 \(k\),所以大致的思路是写出这东西的 GF \(G_k(x)\)\([x^i]G_k(x)\) 表示 \(k\)\(i\) 的贡献,这样所求即为 \([x^i]\sum\limits_{k=1}^N G_k(x)\)。将关于 \(i\) 的式子处理成一项:\(\sum\limits_{k=1}^N (f_{k-1}-f_k)f_{k-1}^{L-1}\left(\dfrac{f_k}{f_{k-1}}\right)^{i-1}\),答案可以表示成:\([x^{i-1}]\sum\limits_{k=1}^N \dfrac{(f_{k-1}-f_k)f_{k-1}^{L-1}}{1-\frac{f_k}{f_{k-1}}x}\),分治卷一起(维护分式可以保证项数与区间长度同阶)就完了。

时间复杂度 Power Projection 与分治卷积均为 \(O(\mathsf{M}(N)\log N)\)

1.4

已严肃因打不动 ABC 学习多项式

ARC147D Sets Scores

是我喜欢的映射。考虑一个数 \(x\) 在一个方案下,如果 \(S_i\)\(S_{i+1}\) 的对称差为 \(\{x\}\)\(x\) 的存在状态就会翻转。如果在 \(S_1\) 中翻转 \(x\) 的存在状态,可以得到一个方案使得 \(x\) 在两个方案中出现次数总和为 \(n\),且其它数出现次数相同。由于任何一个方案对于一个 \(x\) 都可以找到一个对应的方案,在对称差确定的情况下所有方案价值之和为 \(n^m\)。而对称差有 \(m^{n-1}\) 种,于是答案为 \(n^mm^{n-1}\)

[CERC2015] Frightful Formula

边界上的贡献是简单的。主要是对 \(\sum\limits_{i=0}^{n-2}\sum\limits_{j=0}^{n-2}\dbinom{i+j}{i}a^ib^j\) 的处理。第一反应是卷积,但是模数不是 NTT 模数,一点也不优雅。

考虑 GF 写递推或通项,\(F(x)=\sum\limits_{i=0}^{n-2} \dfrac{a^ix^i}{i!},G(x)=\sum\limits_{i=0}^{n-2} \dfrac{b^ix^i}{i!}\),令 \(H(x)=F(x)G(x)\),所求即为 \(\sum\limits_{i=0}^{2n-4} i![x^i]H(x)\)

两边同时求导得:

\[\begin{aligned} H'(x)&=F(x)G'(x)+F'(x)G(x) \\ &=F(x)\left(bG(x)-\dfrac{b^{n-1}x^{n-2}}{(n-2)!}\right)+G(x)\left(aF(x)-\dfrac{a^{n-1}x^{n-2}}{(n-2)!}\right) \\ &=(a+b)H(x)-F(x)\dfrac{b^{n-1}x^{n-2}}{(n-2)!}-G(x)\dfrac{a^{n-1}x^{n-2}}{(n-2)!} \\ &=(a+b)H(x)-\dfrac{x^{n-2}}{(n-2)!}(F(x)b^{n-1}+G(x)a^{n-1}) \end{aligned} \]

代入 \(f_i=i![x^i]H(x)\) 化为递推式:

\[\begin{aligned} f_{i+1}&=(a+b)f_i-i![x^i]\dfrac{x^{n-2}}{(n-2)!}(F(x)b^{n-1}+G(x)a^{n-1}) \\ &=(a+b)f_i-\dfrac{i!}{(n-2)!}\left(\dfrac{a^{i-n+2}b^{n-1}}{(i-n+2)!}+\dfrac{b^{i-n+2}a^{n-1}}{(i-n+2)!}\right) \\ &=(a+b)f_i-\dbinom{i}{n-2}(a^{i-n+2}b^{n-1}+b^{i-n+2}a^{n-1}) \end{aligned} \]

于是做完了。

ARC139D Priority Queue 2

第一想法是对于每个值统计贡献,但是后来加入的值不好处理初始排名。

纯求和涉及到排名的问题,可以考虑拆贡献,对 \(v\in[1,m]\) 统计最后 \(\geq v\) 的数个数。

然后是 Ad-hoc 部分,如果当前个数多于 \(n+1-x\) 个,加入 \(<v\) 的数会减少;如果少于 \(n+1-x\) 个,加入 \(\geq v\) 的数会增加;如果等于 \(n+1-x\) 个,则无论如何不会产生影响。

发现答案只与初始状态和选了多少次 \(\geq v\) 的数有关。枚举选了 \(i\)\(\geq v\) 的数,带系数 \(\binom{k}{i}(m-v+1)^i(v-1)^{k-i}\)

CF1097G Vladislav and a Great Legend

我咋不知这个 trick。直接做怎么做都是 \(O(nk^2)\)\(n\) 贼大 \(k\) 贼小,这东西长得又不像可以插值的多项式,考虑普通幂转下降幂:\((f(X))^k=\sum\limits_{i=0}^k\begin{Bmatrix}k\\ i\end{Bmatrix}\dbinom{f(X)}{i}i!\)

转变为对 \(\sum_X\dbinom{f(X)}{i}\) 计数,这东西的组合意义是从斯坦纳树里面选出 \(i\) 条边,看起来很好树上背包。容易做到 \(O(nk)\)

1.5

AGC045D Lamps and Buttons

哇,是远古银牌题。

起手式似乎是最难的一步。因为不知这个排列,所以一开始肯定是任选,然后顺着一个置换环走下去,继续任选。这样看起来有可能会有运气因素,但是由于排列均匀随机,只要策略固定概率就是固定的。不妨以从小到大摁作为策略(做完之后回看,以各种策略计数的结果是一样的)。

观察样例解释,如果摁到了 \([1,A]\) 里面的自环会输,\((A,N]\) 里有自环也会输。考虑什么情况下会摁到 \([1,A]\) 里面的自环。假设最小的自环在 \(p\),那么摁完 \([1,p)\) 还没有赢就会摁到 \(p\) 然后输掉。

可以得出赢的充要条件:\([A+1,N]\) 所在的置换环都满足环上最小值 \(<p\)。考虑对这个结构计数,枚举 \(p\in[1,A]\),再枚举有多少个置换环——然后得到了带自环限制的第一类斯特林数状物,根本做不了——置换环的个数并不重要,反而徒增了限制。

但是这启发我们考虑第一类斯特林数的递推过程,当前元素可以接在任何一个前面元素的后面或者新开一个环。对于 \((A,N]\) 的部分是非常自然的,因为要求所在置换环最小值 \(<p\),所以不可能新开一个环;\((p,A]\) 的部分也很自然,对其没有任何限制。但是对于 \([1,p)\) 的部分,不知道新开一个环后面会不会有元素接上来,而这一部分是不能有自环的。

所以考虑对自环的限制容斥,钦定 \([1,p)\) 里有 \(i\) 个自环,先带上 \(\binom{p-1}{i}\) 的系数选出自环,容斥系数是 \((-1)^i\),这样对于一个实际上有 \(k\) 个自环的方案满足 \(\sum\limits_{i=0}^k(-1)^i\binom{k}{i}=[k=0]\),达到容斥的目的。这样不用考虑自环的限制,先对 \(p-1-i\) 来说没有限制地选插入的位置或者新开一个环,对于 \((A,N]\) 选一个插入的位置,最后对于 \((p,A]\) 同样没有限制地选插入的位置或者新开一个环。

最后还要加上全局没有自环的方案数,只不过限制变成了 \((A,N]\) 所在置换环最小值 \(\leq A\)\([1,A]\) 没有自环,同样容斥。

CF1821F Timber

第一次做这个题是两年前刚刚系统学习容斥。但是时至今日已经 GF 做魔怔了。

首先考虑判定,很简单的贪心,能向左倒就向左。考虑基于这个判定做 dp,\(dp_{i,j}\) 表示上一个被占的位置为 \(i\),放了 \(j\) 棵树的方案数。如果向右倒,\(dp_{i,j}\rightarrow dp_{l+k,j+1},i+1\leq l\leq i+k\);如果向左倒,\(dp_{i,j}\rightarrow dp_{l,j+1},l>i+k\)

诶呀这个转移好丑,交换两维并统一贡献方式方便写 GF:\(2dp_{i,j}\rightarrow dp_{i+1,l},j+k<l\leq j+2k\)\(dp_{i,j}\rightarrow dp_{i+1,l},l>j+2k\)。这样进行一轮转移相当于乘上 \(2\sum\limits_{i=k+1}^{2k}x^i+\sum\limits_{i=2k+1}^{\infty}x^i\)。容易写成封闭形式:\(\dfrac{1}{1-x}+\dfrac{1-x^{2k+1}}{1-x}-2\dfrac{1-x^{k+1}}{1-x}=\dfrac{2x^{k+1}-x^{2k+1}}{1-x}\)。答案为 \(\sum\limits_{i=0}^{n}[x^i]\left(\dfrac{2x^{k+1}-x^{2k+1}}{1-x}\right)^m=[x^n]\dfrac{1}{1-x}\left(\dfrac{2x^{k+1}-x^{2k+1}}{1-x}\right)^m\)

此时直接暴力卷积即可通过。考虑这个 GF 是朴实无华的二项式,有 \([x^i]\dfrac{1}{(1-x)^{m+1}}=\binom{i+m}{i}\)\([x^{i(k+1)+(m-i)(2k+1)}](2x^{k+1}-x^{2k+1})^m=2^i(-1)^{(m-i)}\binom{m}{i}\),可以做到 \(O(n)\)

1.6

省选模拟赛。

看题,T1 应该比较简单,T2 \(n=10^9\) 神秘排列计数,T3 怎么连 \(O(nq)\) 暴力都不会。

做 T1,并没有意识到直接颜色段均摊就完了啊还以为不构成颜色段均摊(一定是没睡够的原因😅),胡了一个巨丑无比的线段树做法,写到一半放弃了发现可以颜色段均摊,然后思考了一会儿 ODT 怎么写,醒来发现已经 10:00 了才过 T1,怎么蓝题做了 2h。

骗你的和 NOIP 一样已经提前推过一遍 T2T3 了。T2 已经摸到正解结论的前一步了但是觉得这个应该不普适放弃了思考(一定是没睡够的原因😅)然后试图拼暴力发现只会 10pts,直接跳了。T3 虽然看起来暴力都不可做但是我会平面向量和解析几何气势上不能输,先想暴力怎么做,正交分解吼,不等式吼,不会了吼。发现可以贪心+调整法找到最优解,于是我会了 25pts 暴力,但是我还想拿更多分。这个 A 性质怎么这么水,怎么给这么多,那我这个暴力还有没有区分度了。开始写代码,还挺难写,好在写完了,45pts,但是 T2 没时间写了。

要是这是省选不就趋势了吗,哦不对省选好像没这么简单。那么 T2 死于磕 T3 去了,T3 死在哪里呢?

考虑这样一个问题:给定 \(n\) 个平面向量 \(\boldsymbol{v}_i\),有 \(n\) 个实数 \(\lambda_i\in[0,1]\),请问 \(\lambda_1\boldsymbol{v}_1+\lambda_2\boldsymbol{v}_2+\cdots+\lambda_n\boldsymbol{v}_n\) 的落点构成什么图形?

我:曲线围成的封闭图形。

于是完犊子。

但是怎么数学考试的时候遇到我就能反应过来(一定是没睡够的原因😅)。

中午在路上碰到上学期的语文老师然后走过了旁边的同学说她在跟我打招呼那我咋没看到没有回礼我的良心严重受损而且我以为没有几个老师认识我就像我之前以为生物老师不认识我一样看来存在感还是太强了翻遍表情包我还是只能用这个😅。

发现自己的比赛策略似乎相当有问题。在中档甚至简单题上卡壳喜欢直接往后跳然后把后面的题做到卡壳再回来。这样的结果是中档/简单题在比赛中期甚至后期通过,难题的时间分配也不合理,会出现做完关键步骤但是只能含泪打暴力的情况,思维跳跃和推性质推着推上瘾了会浪费很多时间。比如联合省选 2025,D1 recall 卡住了就跑去做 graperm,结果 graperm 会了 \(52\) 打了 \(8\),recall 会了 \(100\) 打了 \(88\);比如 CSP-S2025,T2 卡住了(这都能卡的吗)就跑去做 T3T4,结果 T3T4 都被小学生都会的步骤卡了,到后面就不知为何一点时间没有了,T4 含泪拼包;比如 NOIP2025,T2 卡住了就跑去做 T3T4,T3 画了一堆自己一会儿就忘了的性质,要不是这个 T4 有点直觉把复杂度卡低了点再加上狗运和 CCF 少爷机,就凭这个 3h+ 才过 T2 就可以埋了,T3 最后会了 \([56,68]\) 打了 \(48\)

一方面专注力和认知能力下降严重,另一方面 2025 的正赛总是能卡简单题,也不知为何。经常是突然发现比赛时间要没有了然后回顾自己的做题过程思维一片混乱。这下不得不加训 ABC 和 CF Div.2 了。

[COTS 2025] 数好图 / Promet

好家伙,嘴上说着训简单题跑来做啥了。不说了,图计数一生推,这个题真的挺好玩。

图计数,考虑如何划分子结构。直接 dp 难以同时确定 \(1\rightarrow x\)\(x\rightarrow n\) 的连通性,但是只确定 \(1\rightarrow x\)\(x\rightarrow n\) 的连通性是好做的。

假设除了 \(1,n\) 已经选出了 \(k-2\) 个点满足同时存在 \(1\rightarrow x\)\(x\rightarrow n\) 的路径并且知道了这么做的方案数,考虑将剩下不满足这个条件的点加进去。这里感觉和我出的那个题有点异曲同工之妙,假设选好的 \(k\) 个点为 \(V\),然后连出去一个集合 \(S\),最后还有一个不与 \(1\) 相连集合 \(T\),那么 \(V\cup S\rightarrow S,T\rightarrow \{1,2,\cdots,n\}\)。这样可以分两步统计贡献,只要我在计数的时候记录了 \(|S|,|T|\)

由于 \(i<j\) 边的限制,一个点的出入边方案数与这个点的编号有关,因此 dp 时记录的信息类似于考虑编号 \(1\sim i\) 的点,集合大小为 \(j\),转移是简单的。

最后再考虑 \(V\) 内部的贡献。怎么这也和我那个题有异曲同工之妙。充要条件是只有 \(1\) 入度为 \(0\),只有 \(n\) 出度为 \(0\),对出度为 \(0\) 进行容斥即可。

做完这个题感觉我出的那个题跟上了时代潮流!

1.7

巨大无比头疼,困死了。还要做 ds,还要学习超级无敌可爱的树上问题,我以为燃烧的呐球已经很厉害了。这个教室睡不着体质真纯纯 debuff 吧,浪费一上午+下午还是好困。

VP 了 Edu186,感觉人要死了,F 写不清楚细节好难受,其他题还好。晚上要不要打 Hello2026 啊,好难决断啊,明天还有语文早读,感觉不妙。怎么感觉除了计数其它都是普及组水平,如此状态,如何省选。

1.8

谷雨从 8:00 做到 17:07,真是美好的一天。

不想写题了,先去把之前那个题的数据造了,然后看论文。

1.9

模拟赛。

浓浓的找性质+数据结构味,应该是除了计数我最擅长的内容(能不能有数据结构优化计数 dp)。T1 是不太会性质题,T2 是串串,T3 的暴力是经典反悔贪心。

T2 画了一下会了 \(O(n^2)\),好像 SA+线段树合并可以简单做到 \(O(n\log n)\),在 1h 时过了,测自己造的极限数据发现跑得有点慢,同时发现需要开 __int128。好像不好优化,先放了。

然后在 T1T3 间反复横跳没有任何进展,只是发现 T3 暴力其实有 \(80\)(赛后发现数据给的 \(60\))。花了一些时间写 T3 暴力,都基本忘了怎么打(结果最后特殊性质没过挂成 \(40\) 了,不知为何)。

T1 中间几个小时想出的思路是二分答案,然后贪心是不好用数据结构维护的所以考虑 Hall 定理,这样问题转变为对后缀和的判定,可以用 ST 表维护。但是感觉一个点修改后的影响不好维护所以卡住了。最后半个小时发现其实一个点只会受到到根路径上最小值的影响所以影响总量是 \(O(n)\) 的。怎么又被普及组难度卡了,掐一下自己开始 rush,还剩 10min 时 rush 出来了,跑得有点慢,把 vector 改成数组快多了。

最后 T2 被卡了一个点的常,发现其实写的是双老哥。官解是什么调和级数,没看懂。

T3 在题面提示如此明显的情况下居然没有将反悔贪心与凸性联系起来,感觉要严肃复习凸优化。

今天下午体锻好像有谁谁谁的批斗大会,可惜我作为 victim 去不了现场。

USACO 晚上 9:00 开放,发现新号在 Silver,犹豫是否今天开。

1.10

模拟赛,但是名曰期末考试。

T1 是比较好想的哈希,T2 是比较简单的找性质+线段树优化 dp。T3 是困难图论 Ad-hoc,但是因为是最优化被乱搞创飞了。写了和正解比较有联系的树性质,拼了状压打不过乱搞,怎么我树性质做法和题解不太一样呢。

1.11

ARC 被 D 创飞了,C 在错误的方向上做了好久,推翻思路很快就过了。这把降智掉大分。

专注力训练&心态恢复:

  • 先将手头的事情全部做到可以暂时扔掉的地步。

  • 冥想。

  • 定时开 ABC/CF Div.2 等较为简单但是需要注意力的比赛,或者做数学卷子等;但是如果是专注力训练不建议进行文学艺术类活动。

  • 冥想。

  • 进行复盘总结。

注意事项:

  • 冥想的作用是调整状态,回归宁静。最好有一个安静的环境,配轻音乐/白噪音,没有外放条件可以舍去/找天然的白噪音,但是一定不要戴耳机。过程中放松全身,以最舒适的姿态,注重于感受身体,感受呼吸。进行深呼吸,吸气时脊柱向上延伸,呼气时沉肩,过程中一定要放松。保持注意力在身体上,一旦察觉到思考尘世因果,迅速回到状态并给予积极的心理暗示。可以以音乐结束作为结束的标志,如果没有条件可以随意,尽量不要让上课铃声这种 deadline 强制性唤醒。

  • 排除外界干扰是主要目的,一旦察觉被干扰迅速回到状态并给予积极的心理暗示,保持冥想带来的宁静,遇到思维卡壳灵感枯竭等情况,给予积极的心理暗示并从全局重新审视问题。

  • 完成活动后利用冥想尽快抛弃适才的因果,忘记刚才可能令人愤懑令人难过的事情。冥想结束后再进行复盘总结,防止情绪化的总结不够客观真实。

因为这是我瞎编的,实测还不够完善,不排除心态更加炸裂的情况。

1.12

CF1810G The Maximum Prefix

说来惭愧,这个题做过无数遍今天才写代码。

经典 trick:最小/大前缀和的刻画方式;反向贡献系数;类似转移不同初值考虑通过转化放在一起转移。

CF1175G Yet Another Partiton Problem

决策单调性证不出来,很经典的 CDQ + 斜率优化就做完了。此外由于贡献与最值有关,可以最值分治,但是需要分讨,代码比较难写。

[JOIST 2023] 曲奇 / Cookies

这题为啥评黑。

考虑充要条件,贪心不好判定考虑 Hall 定理,然后就做完了,需要 bitset 优化。

ARC212E Drop Min

你说得对,但是我场上被 D 创飞没时间做这个小清新题了啊。

发现只要一个数两边有比它大的就能删掉,建出笛卡尔树,则左子树或右子树被删完之后这个树能被删。不过这要求左/右子树删完之后旁边不是边界。分讨一下,如果左子树能删,有 \(\binom{L+R+1}{L+1}\) 的贡献,如果右子树能删,有 \(\binom{L+R+1}{R+1}\) 的贡献,如果都能删,要容斥掉在最后的方案 \(\binom{L+R}{L}\)。其中 \(L,R\) 表示左/右子树大小。

1.13

[USACO23FEB] Watching Cowflix P

经典。

考虑其实有两种刻画答案的方式:一个是确定 \(k\),一个是连通块个数。但是直接上数据结构/凸优化都是不好维护的。但是发现 \(k\) 与连通块个数的乘积是 \(O(n)\) 的,所以可以根号分治,处理 \(k\leq B\) 与连通块个数 \(\leq \dfrac{n}{B}\),可以做到 \(O(n\sqrt n)\)。但是这题卡空间,所以需要用重剖继承的方式优化树上背包。

此外由于 \(k\) 与连通块个数的乘积是 \(O(n)\) 的,一个很厉害的观察是可以将距离 \(\leq k\) 的关键点全部缩一起,然后建虚树是 \(O(\frac{n}{k})\) 级别的,总复杂度 \(O(n\log n)\)

[JOIST 2023] 议会 / Council

作为集幂糕手怎么差点没做出来。

考虑去掉议长之后出现次数恰好为 \(\lfloor\frac{N}{2}\rfloor\) 的那些议案是危险的,记它们为 \(S\)。再记一个议员支持的集合为 \(A_i\),即对 \(1\leq i\leq N\)\(\min_{j\not=i} |S_i\cap A_j|\)

考虑只有一个 \(A\) 但是多次查询怎么做,可以做一个高维超集 \(\min\) + 高维子集 \(\min\) 状物,但是对于 \(A\) 的子集这玩意会错误贡献,那考虑取个补集就可以了。变成多个 \(A\) 也是一样的,细节是由于不能算议长所以要处理次小值。

[集训队互测 2024] 树上简单求和

考虑括号序,左括号加一右括号减一,则一条根链可以被表示为一段区间。可以描述为经典问题:区间加,区间查询 \(\sum\limits_{i=l}^r a_{p_i}\),这个大力对 \(i,p_i\) 分块维护贡献即可。

posted @ 2026-01-03 17:04  _Communist  阅读(62)  评论(0)    收藏  举报