置换的运算

下面先给出一些关于置换运算的基础题:
http://poj.org/problem?id=3270
http://poj.org/problem?id=1026
http://poj.org/problem?id=1721
http://poj.org/problem?id=3128
http://poj.org/problem?id=3590
http://202.120.106.94/onlinejudge/problemshow.php?pro_id=341

关于置换运算的性质
1.每一个置换都能表示为不相交循环的乘积。
2.对换乘以一个置换:
(1).对换的元素在置换的同一个循环中,则该循环被拆分。
(2).对换的元素在置换的不同循环中,则两个循环被合并。
3.循环的整数幂记为 T^k。
例:(2 3 1) * (2 3 1) * (2 3 1) = (2 3 1)^3
4.T^k 将循环分成大小相同的 gcd(l, k) 份(l 为循环长度)。
5.循环的分数幂(T^(1 / k))的判断与构造:
(1).置换中循环长度为 l 的循环个数要为 gcd(l, k) 的倍数。
(2).交叉合并 gcd(l, k) 个循环。
6.关于循环周期最长的循环:
(1).所有循环的大小必须互质,否则 a + b > a / gcd(a, b) + b / gcd(a, b) + gcd(a, b),将原来的两个循环拆成3个。
(2).所有的循环大小为素数的幂,否则 p1^k1 * p2^k2 可分为 p1^k1 + p2^k2。
[等待更新……]



留下评论