CF#641 F2 另解

我们将暴力计算出二元生成函数 F ^ ( z , t ) = n 1 k = 1 n A n , k z n t k n ! \widehat F(z, t) = \sum_{n\ge 1}\sum_{k=1}^n A_{n,k}\frac{z^nt^k}{n!} , 其中 A n , k A_{n,k} 是所有 n n 长度的序列中 k k 出现次数的和. 考虑容斥原理. 对于 max k = m \max k = m 的序列, 我们有
j = 1 m S { 1 , 2 , m 1 } ( 1 ) S Q ( S , z , t , j ) \sum_{j=1}^m \sum_{S \subseteq \{1, 2, \cdots m-1\}} (-1)^{|S|} Q(S, z, t, j)
这个意思是说对于所有 i S i \in S , 我们强制让所有 i i 出现在 i + 1 i + 1 之前, 统计 j j 的出现次数之和

我们考虑改进枚举顺序,由于每个强制要求就将连续几个 k k 的关系“绑定”在一起,我们反过来枚举这个强制要求的产生,那么我们可以认为一连串的 k k 就组成了一个“基本单元”。而接下来我们还要枚举我们所需要统计的各个 k k 出现的次数和,贡献到 t k t^k 上面。因此这个组合结构的统计可以被认为是对枚举如下结构计算代数和:

( t ) 1 ( t ) 1 1 ( t ) | | ( t ) 1 1 ( t ) ( L e n ) w i t h ( t ) 1 1 | | 1 1 1 \overbrace{\left.\bigcirc {\color{blue}(\cdot t)} \frac{\tiny \color{red} -1}{}\bigcirc {\color{blue}(\cdot t)} \frac{\tiny \color{red} -1}{} \cdots \frac{\tiny \color{red} -1}{} \bigcirc {\color{blue}(\cdot t)} \middle\vert \cdots \middle\vert \bigcirc {\color{blue}(\cdot t)} \frac{\tiny \color{red} -1}{}\cdots \frac{\tiny \color{red} -1}{} {\color{green}\bigcirc} {\color{blue}(\cdot t)}{\color{green}(\cdot \mathrm{Len})} \right.}^{\mathrm{with} {\color{blue}(\cdot t)}} \left. \frac{\tiny \color{red} -1}{} \cdots \frac{\tiny \color{red} -1}{} \bigcirc \middle\vert \cdots \middle\vert \bigcirc \frac{\tiny \color{red} -1}{}\bigcirc \frac{\tiny \color{red} -1}{} \cdots \frac{\tiny \color{red} -1}{} \bigcirc \right.
其中 \bigcirc 是一个非空同色列,而 - 表示两个颜色之间的出现位置关系被严格限制, | 表示之间没有限制。

对于隔板中间的过程,易于用 OGF 表示,最后混合颜色的过程,易于用 EGF 表示。

主要的 OGF 分成三个部分,第一个阶段是采集了 t t 的部分,第二个阶段是采集了 t t 的一个终止段,且在终止位置统计了某个颜色的出现次数,第三个阶段是不采集 t t 的部分。

我们分别算出三个阶段:
第一阶段:
L ( z , t ) = 1 1 + z 1 z t + 1 = t z 1 ( 1 t ) z = k 0 z k + 1 t ( 1 z ) k L ^ ( z , t ) = t 1 t k 0 z k + 1 ( k + 1 ) ! ( 1 t ) k + 1 = t 1 t ( e z ( 1 t ) 1 ) \begin{aligned} L(z,t) &=\frac{-1}{1+\frac z{1-z}t} + 1 \\ &= \frac{t z}{1-(1-t) z}\\ &= \sum_{k\ge 0} z^{k+1} t(1-z)^k\\ \widehat L(z,t) &= \frac t{1-t}\sum_{k\ge 0} \frac{z^{k+1}}{(k+1)!} (1-t)^{k+1}\\ &= \frac t{1-t} (\mathrm e^ {z(1-t)} - 1) \end{aligned}
第二阶段:
U ( z , t ) = 1 1 + z 1 z t z t ( 1 z ) 2 1 1 + z 1 z = t z 1 ( 1 t ) z = L ( z , t ) U ^ ( z , t ) = L ^ ( z , t ) \begin{aligned} U(z,t) &= \frac1{1+\frac z{1-z}t} \frac {zt}{(1-z)^2} \frac1{1+\frac z{1-z}}\\ &= \frac{tz}{1-(1-t)z} = L(z,t)\\ \widehat U(z,t)&= \widehat L(z,t) \end{aligned}
第三阶段直接有 L ( z , 1 ) = z = L ^ ( z , 1 ) L(z, 1) = z = \widehat L(z, 1)
因此,答案的 EGF 就是
1 1 L ^ ( z , t ) U ^ ( z , t ) 1 1 L ^ ( z , 1 ) \frac1{1-\widehat L(z,t)} \widehat U(z, t) \frac 1{1 - \widehat L(z, 1)}

经过一番化简, 我们就得到了 t ( e z ( 1 t ) 1 ) ( 1 z ) ( 1 t e z ( 1 t ) ) \frac{t(\mathrm e^{z(1-t)}-1)}{(1-z) (1-t \mathrm e^{z(1-t)})} .

我们现在要计算
[ z n ] t ( e z ( 1 t ) 1 ) ( 1 z ) ( 1 t e z ( 1 t ) ) [z^n]\frac{t(\mathrm e^{z(1-t)}-1)}{(1-z) (1-t \mathrm e^{z(1-t)})}
考虑 ( [ z n ] t ( e z ( 1 t ) 1 ) ( 1 z ) ( 1 t e z ( 1 t ) ) ) + 1 = ( 1 t ) [ z n ] 1 ( 1 z ) ( 1 t e z ( 1 t ) ) \left([z^n]\frac{t(\mathrm e^{z(1-t)}-1)}{(1-z) (1-t \mathrm e^{z(1-t)})}\right) + 1 = (1-t)[z^n] \frac 1{(1-z)(1-t\mathrm e^{z(1-t)})} , 用于简化表达式. 接下来我们令 z = u 1 t z = \frac u{1-t} , 就有
[ z n ] 1 ( 1 z ) ( 1 t e z ( 1 t ) ) = ( 1 t ) n [ u n ] 1 ( 1 u 1 t ) ( 1 t e u ) [z^n]\frac 1{(1-z)(1-t\mathrm e^{z(1-t)})} = (1-t)^n[u^n] \frac1{(1-\frac u{1-t})(1-t\mathrm{e}^u)}
这一步的好处在于我们消去了上指标的一个变量, 方便我们接下来做分式分解
( 1 t ) [ z n ] 1 ( 1 z ) ( 1 t e z ( 1 t ) ) = [ u n ] ( 1 t ) n + 2 ( 1 t 1 u ) ( 1 t e u ) ( 1 u ) = ( 1 t ) n + 2 [ u n ] ( e u ( e u u e u + 1 ) ( 1 t e u ) + 1 1 u ( e u u e u + 1 ) ( 1 t 1 u ) ) \begin{aligned} (1-t)[z^n] \frac 1{(1-z)(1-t\mathrm e^{z(1-t)})} &= [u^n]\frac{(1-t)^{n+2}}{(1-\frac{t}{1-u})(1-t\mathrm e^u)(1-u)}\\&= (1-t)^{n+2} [u^n] \left(\frac{-\mathrm e^u}{\left(\mathrm e^u u-\mathrm e^u+1\right) \left(1-t \mathrm e^u\right)}+\frac{\frac{1}{1-u}}{\left(\mathrm e^u u-\mathrm e^u+1\right) (1-\frac{t}{1-u})}\right)\end{aligned}

主要是前面的 exp 部分,由于 [ u m ] e k u = k m m ! [u^m]\mathrm{e}^{ku} = \frac{k^m}{m!} , 可以多点求值做到 Θ ( n log 2 n ) \Theta(n\log^2 n) . 如果你常数不大, 可以通过.

当然也可以优化到 Θ ( n log n ) \Theta(n\log n) 通过拉格朗日反演, 和 xtq 的做法类似, 留作习题.

猜你喜欢

转载自blog.csdn.net/EI_Captain/article/details/106122006
f2
今日推荐