有关排列计数的一个小技巧

排列问题与图论问题的一个经典转化:

给定一个排列(p_1,p_2,...p_n),若由点(i)(p_i)连一条边,则整张图会由若干有向环组成(每个点出度为1,入度为1),其中单位排列({1,...,n})(n)个自环组成,交换一个排列中两个元素的位置相当于将两个环合并为一个环或将一个环拆成两个环,这个转化常用于给定一个排列,每次可以交换两个元素的位置,求将这个排列变为单位排列的最小交换次数。这等价于将排列对应的图拆成(n)个自环。

还有一些等价类问题(Burnside引理),也可以通过讨论排列中环的数目来确定不动点个数(如Polya定理)。一道例题

以及一些行列式问题,特别是稀疏矩阵行列式,可将问题转化为求矩阵上若干由非0元素所组成的环的所有方案的带权和问题,可以用dp等方法解决。

原文地址:https://www.cnblogs.com/lishuyu2003/p/11295251.html