LOJ3397 春天,在积雪下结一成形,抽枝发芽

计数不包含非平凡值域连续段的 \(n\) 元排列个数,对 \(1 \dots N\) 分别求。

根据析合树的知识,排列分成几类:

  1. \(1\)
  2. 根是合点,有两个以上孩子(有两种顺序)
  3. 根是析点,有四个以上孩子

其中情况 3 包含了答案。

\(4\) 元以上答案的 OGF 是 \(F(x)\)\(n \ge 1\) 元排列的 OGF 是 \(P(x)\)

则有:

\[P = x + \frac{2P^2}{1+P} + F(P) \]

其中 2 情况用容斥计算:每段给一个 \(-1\) 的系数,这样每种分段方式的贡献都是 \(1\)

化成 \(P\) 的复合逆的形式:

\[P - F(P) - \frac{2P^2}{1-P} = x \]

所以 \(H(x) = x - F(x) - \dfrac{2x^2}{1-x}\)\(P\) 的复合逆。

所以只要求出 \(P\) 的复合逆 \(G\) 就能求 \(F(x)\)

\(P\) 满足 \(x(xP)' = P - x\),即 \(x(P(x) - xP'(x)) = P(x) - x\)

带入 \(x = G\)

\[xGG' - G^2 = (x-G)G' \]

注意到 \(G(F) = x, (G(F))' = G'(F)F' = 1, G'(F) = \dfrac{1}{F'}\)

两边提取 \([x^n]\) 项分治 FFT 即可。

posted @ 2022-07-10 19:32  RiverHamster  阅读(115)  评论(0编辑  收藏  举报
\