做题记录 25.6.26

\(\textcolor{purple}\odot\) CF1725I Imitating the Key Tree

即构造出一个 \(2n-2\) 条边的边双连通图,使得图上任意两点之间距离等于给定树上对应点之间距离,距离定义为两点之间简单路径上最大边权的最小值,且图的边权为 \(1\sim 2n-2\) 的排列,树上边权根据给定顺序递增,可任意指定,求出存在对应树的图的数量

先统计图的形态的方案数(同时给边定顺序)

按照给定顺序枚举树边,设目前枚举到 \((u,v)\),显然两者不属于同一连通块,要将两者合并,令 \(sz_u\)\(sz_v\) 分别为两者所在连通块的大小,则需要在两个连通块之间加入两条边,方案数为 \((sz_usz_v)^2\)

然后考虑计算边权的方案数

每次加入两条边,其中一条的权值为目前未填的权值中最小的,另一条任意选,因此总贡献为 \((2n-3)!!\)

时间复杂度 \(O(n\alpha(n))\)

代码

参考

posted @ 2025-06-27 19:53  Hstry  阅读(4)  评论(0)    收藏  举报