Loading

AT_abc214_g [ABC214G] Three Permutations

有点不太想写。

注意到没有 \(q_i\) 怎么做,其实换一下就是错排,这启示我们将 \(p, q\) 中的一个换成 \(1 \sim n\),因此问题转化为使得 \(r_i \ne i, r_i \ne p_i\) 的排列方案数。

考虑容斥,计算 \(f_i\) 表示 \(i\) 个不合法位置的方案数,发现这个东西不太好计算,注意性质,\(i \to p_i\) 连边,那么就是若干个置换环,每个置换环可以单独考虑,之后用背包合并。

发现一个置换环上选 \(j\) 个点的贡献只需要满足他们不相邻即可,可以考虑 DP,也可以组合,具体来说,如果是链的话,记方案数为 \(g_{i, j}\),则 \(g_{i, j} = C_{i - j + 1}^j\),具体考虑插板,然后设环上方案数为 \(f_{i, j}\),神秘吃饭说 \(g_{i, j} = f_{i, j} - f_{i - 4, j - 2}\),我组合不行,我也不知道。

反正 DP 做做就是 \(O(n^2)\) 的了。

posted @ 2025-06-28 19:30  Alexande  阅读(10)  评论(0)    收藏  举报