Description
给定一个\(n\)个点的带边权的二分图,求它的边权和为\(k\)的倍数的完美匹配的数量。
\(1\leq k, n\leq 100\)。
Solution
先来说一下用行列式判定二分图完美匹配是否存在的方法……
先构造矩阵\(A\)满足\(A_{i, j} = x_{i,j}\)(当边\((i, j)\)存在时满足,其他情况为\(0\),注意这里的\(x\)是两两不同的变量),若\(\det(A) = 0\)则没有完美匹配,反之则有完美匹配。出于方便,我们可以把\(x_{i, j}\)直接搞成随机数。
如果说我们要求是\(k\)的倍数的话,那么我们每个非零的\(A_{i, j}\)还要再乘上一个\(y^{w(i, j)}\),最后得到的生成函数的指数为\(k\)的倍数的项的系数和就是答案。很显然这个东西可以用单位根反演完成……
不过这里注意没有模数的话我们要自己找一个满足为\(kx + 1\)形式的大质数当模数,考虑到质数分布的那一套玄学理论这个暴力找也是可以的。需要单位根的话当然要求原根力,,,
Code
1 |
|