2025-9杂题记录

posted on 2025-09-02 13:29:12 | under | source

AT_agc027_f [AGC027F] Grafting

link

不算很难。

首先我们在做一个形如判定树同构的问题,无根的情况是困难的。本题范围较小,想到定根。这样同构的条件等价于父节点相同。

如何定根?我们希望根不被操作,因此直接枚举每个点不被操作定为根即可覆盖答案 \(<n\) 的情况。对于 \(=n\) 的情况,直接枚举第一步操作得到一个不动点即可。

接下来是容易的。定根后,记 \(fa_i,fb_i\) 分别为两树中 \(i\) 的父节点。显然有且仅有 \(fa_i\ne fb_i\) 的点需要操作。

考虑判定存在合法方案,首先一个操作点的子树内不能有不操作点,那么构成若干操作点子树。且操作序列必然为原树的根向拓扑序。同时,将一个点移动到 \(fb_i\) 后就绑死了,\(fb_i\) 不能再操作,于是 \(fb_i\) 需先于 \(i\) 操作。拓扑排序判定即可。\(O(n^3)\)

总结:本题的突破口是定根后判定树同构转化为判定父节点相同,后面的推导是容易的。

AT_arc144_e [ARC144E] GCD of Path Weights

link

将点拆为入点和出点,那么点权和路径转化为边权和路径。

考虑确定边权后判定 \(x\) 是否合法,不妨添加一条 \(1\to n\) 边权为 \(0\) 的边,那么只需判定所有路径在模意义下相同。

这是经典问题,做法是记 \(dis_i\)\(1\to i\) 路径和,那么合法当且仅当存在一种 \(dis\) 序列使得 \(dis_u+w\equiv dis_v\pmod x\)。用带权并查集做即可。每次若 \(dis_u=dis_{rt}+x,dis_v=dis_{rt}+y\) 就有限制 \(x\mid |x+w-y|\)

对于确定边权下的原问题,只需将判定改成求所有限制的 \(\gcd\) 即可。

对于存在不确定边权的情况,上述过程本质是检查 \(1\to i\) 的两条不同路径并处理限制,假如某路径上存在不确定边,那么显然可以调整使得边权和相同。因此忽略这些边即可。

总复杂度 \(O(n)\)

总结:本题重点在于考虑判定问题,转化为在模意义下所有路径和相等,便可利用经典 trick。

CF2115E Gellyfish and Mayflower

link

CF2115D Gellyfish and Mayflower

先做一步转化,开始全选 \(a\) 然后决定是否改成 \(b\)。也就是 \(V\) 初值为 \(a\) 异或和,每一步决策是否异或上 \(a_i\oplus b_i\)

从高位到低位考虑,只需关注这一位为 \(1\) 的元素,记它们构成 \(S\)。观察到掌握 \(S\) 最后一个元素的可以决定 \(V\) 最终该位的取值,记它为 \(x_p\)。但是假如操作过 \(S\) 其它元素,则会改变“是否取 \(x_p\)” 这个决策。因此,只需将 \(S\) 所有元素都异或上 \(x_p\) 即可。然后递归更低位即可。

总结:易想到从高位到低位考虑,难点在于观察到最后一个元素的作用,以及处理前面元素产生的影响。

posted @ 2026-01-13 11:40  Zwi  阅读(0)  评论(0)    收藏  举报