洛谷5206 [WC2019]数树
Luogu LOJ orz laofu!!1 分析 $op = 0$ 只需要统计两棵树有多少条重边即可。假设有 $c$ 条,答案即为 $y^{n - c}$。 $op = 1$ 先特判掉 $y = 1$ 的情况,答案为 $n^{n - 2}$。 我们要求的是 考察每个连通分量。一个大小为 $a$ 的连通分量会产生 $\frac{n^2 y}{1 - y} a^2$ 的乘积贡献,而 $a$...
Luogu LOJ orz laofu!!1 分析 $op = 0$ 只需要统计两棵树有多少条重边即可。假设有 $c$ 条,答案即为 $y^{n - c}$。 $op = 1$ 先特判掉 $y = 1$ 的情况,答案为 $n^{n - 2}$。 我们要求的是 考察每个连通分量。一个大小为 $a$ 的连通分量会产生 $\frac{n^2 y}{1 - y} a^2$ 的乘积贡献,而 $a$...
Luogu 分析 为了方便我们先令 $y$ 等于 $x + 1$,则 $S_k(x) = \sum_{i = 0}^{y - 1} i ^ k$。 根据伯努利数的结论有 后面同样是差卷积的形式,翻转后一遍 NTT 即可。 代码 // ==================================== // author: M_sea // website: https://m...
Luogu 分析 首先求出烷基的 OGF $F(x)$,具体求解过程可以看这里。 考虑一个烯烃断掉双键后会构成一棵根的儿子数 $\leq 2$、其余节点的儿子数 $\leq 3$ 的树,我们考虑求出其 OGF $G(x)$。 根据 Burnside 引理可以得到 这里减 $1$ 是因为双键两端都必须有碳原子(双键显然不能连在氢原子上)。 依据上式直接计算即可。时间复杂度 $\mathcal...
LOJ 分析 要求的就是每个节点的儿子数都不超过 $3$ 的无标号有根树数。 设其 OGF 为 $F(x)$,考虑列出一个关于 $F(x)$ 的方程。 不妨规定 $[x^0]F(x) = 1$,那么可以看成每个节点的儿子数都恰好为 $3$。 直接得出 $F(x) = 1 + F(x) ^ 3$ 显然是错误的,因为我们同构的情况被重复计算了。 因此可以考虑 Burnside 引理。对于 $(1...
Luogu 分析 显然进的球数服从超几何分布,即 $\mathcal{O}(L \log L)$ 预处理一行第二类斯特林数,然后 $\mathcal{O}(SL)$ 计算答案即可。 代码 // ==================================== // author: M_sea // website: https://m-sea-blog.com/ // ==...
darkbzoj 分析 设答案的 OGF 为 $F(x)$,则有 多项式求逆 + 多项式快速幂计算即可。 代码 // ==================================== // author: M_sea // website: https://m-sea-blog.com/ // ==================================== #in...
球与盒子问题大杂烩 下面我们对这 $12$ 个问题简略分析。 I 球之间互不相同,盒子之间互不相同。 每个球都可以任意选择一个盒子,答案为 $m^n$。 II 球之间互不相同,盒子之间互不相同,每个盒子至多装一个球。 每个球选择一个盒子,已经被选择过的盒子不能再被选择,答案为 $m^{\underline{n}}$。 III 球之间互不相同,盒子之间互不相同,每个盒子至少装一个球。...
UOJ 分析 设 $f_{i ,j, w}$ 为从 $i$ 走到 $j$、权值和为 $w$ 的方案数,$g_{i, j, w}$ 表示连接 $i,j$ 的权值为 $k$ 的边数。 那么有 可以证明 $I-G$ 一定是可逆的。于是我们只需要求一个每个元素都是一个多项式的矩阵的逆,和普通矩阵求逆类似地做即可。 然而这题还卡常,需要精细地实现来减少 NTT 的次数,最好把预处理原根、取模优化、寻...
Luogu LOJ 分析 考虑容斥,问题变为计算至少有 $i$ 组人讨论 cxk 的方案数。 首先我们需要选出 $i$ 个位置 $p_{1..i}$ 满足 $[p_j,p_j+3]$ 不交,容易算出方案数为 ${n-3i\choose i}$。 对于剩下的位置,枚举每种学生的个数,方案数是一个多重集排列数,式子是 可以看成四个生成函数卷起来,用 NTT 可以 $\mathcal{O}(n\...
Luogu 分析 答案显然是 直接分治把所有 $1-a_ix$ 卷起来,然后多项式 $\ln$ + 多项式求导即可求出 $G(x)$,再推回 $A(x)$ 后卷积即可。 代码 不想写 vector,于是从鱼那里蒯了一个分治 /kel // ==================================== // author: M_sea // website: https:...