【AtCoder Grand Contest 005】D - ~K Perm Counting
题目描述
社论
editorial:社论
考虑容斥,设 $g_n$ 表示至少有 $n$ 个不符合条件的位置的方案数
答案为:$\sum_{i=0}^{n}(-1)^{i}g_i(n-i)!$
考虑把二分图建立出来,左边下标,右边值,把不能放置的连上边
也就是求选择若干对匹配的方案数
它是由一堆链构成的,设 $f_{i,j,0/1}$ 表示选了前 $i$ 个点,一共有 $j$ 条匹配边选上,$i$ 和 $i-1$ 是否匹配了
则 $g_j=f_{n,j,0}+f_{n,j,1}$