CF715E口胡

首先两个排列 \(q,p\) 可以简化成一下模型:

\(x[n]\) 表示 \(q[x[n]]=n\)\(y[n]\) 表示 \(p[y[n]]=n\)

那么对于两个确定的 \(q,p\),对于 \(i\in[1,n]\) 连接 \(x[i],y[i]\),边权为 \(i\)

可以知道一个图只能代表一对排列。

而他给定的一部分只是给定了一部分边而已,我们将一条已知的链缩起来。于是题目转化为对于所有的 \(k\) 求出有 \(n\) 个节点 \(n-k-1\) 个环以及有 \(m\) 条边的权值没有被确定的这样的图的数量。

很显然 \(m\) 只有一个 \(m!\),所以我们只需要对 \(n\) 个点 \(m\) 个环计数即可,问题有标号。

于是有 \(F[k]=[\frac{x^n}{n!}](\sum_{i=1}\frac{x^i}{i})^k\),可以 \(O(n^3)\) 直接草过去,也可以扒一个多项式全家桶来 \(O(n^2\log n)\)

当然,能够注意到 \(F[k]=\begin{bmatrix}n\\k\end{bmatrix}\),所以可以斯特林数 \(O(n^2)\) 直接草了,或者也可以第一类斯特林数行直接 \(O(n\log n)\)

posted @ 2022-07-18 16:39  Prean  阅读(30)  评论(0编辑  收藏  举报
var canShowAdsense=function(){return !!0};