AGC019E Shuffle and Swap

题意:给出两个长度为

两个串均恰有 。令 分别表示 中所有 出现的位置。

等概率随机打乱,按 的顺序交换

表示操作完成后 相等的概率,求

,时限


分别打乱,相当于只将 打乱,然后按照某种顺序执行交换。

之间连边

不难发现,由于每个点至多只有一个出边,也至多只有一个入边,故整张图是由若干个环和链组成。

  • 考虑在给定图之后,合法的执行顺序数。

    环中的点都是 ,所以怎么交换是无所谓的。

    链条必须按照从头到尾的顺序执行,方案数唯一。

的位置(链的开头)个数为 的位置(链的结尾)个数也为

最终形成的图中必有 条链。

考虑 EGF 计数,将各个子结构标号归并。

交换也可以利用归并处理,但不这么考虑。共有 步交换,先默认交换方案数为 ,对于一条长为 (边数)的链,将方案数除以 。(考虑为额外加权)

(这样,我们的 EGF 就是只处理标号的经典 EGF)

链的开头结尾两类点在标号分配上不是自由的,故最后再考虑他们。先考虑自由拼接的一入度一出度的点。

对于一条长度为 的链,有 个自由点,连接方案数为 ,边数为 ,构造的生成函数为

对于一个大小为 的环,有 个自由点,连接方案数为 ,构造的生成函数为

两者的 EGF 分别为

链的个数是确定的 个,而环的个数是不定的。

自由点的个数为 ,则我们要计算的是

然后我们要将链头链尾拼上去。 可以看做先按顺序链的起点,然后一个个往上面安中间的部分,然后将后面的部分拼上去,这一步方案数要额外乘以

最后乘上交换方案数中的 ,大功告成。

那么问题转化为对 计算

复杂度