置换群
酷酷的Herio
这个作者很懒,什么都没留下…
展开
-
POJ 1026 Cipher(置换群)
POJ 1026 Cipher(置换群)思路 将置换分解为若干组循环节,然后置换kkk次就是对每个循环节长度取模即可。时间复杂度:O(n)O(n)O(n)code// Problem: Cipher// Contest: POJ - Central Europe 1995// URL: http://poj.org/problem?id=1026// Memory Limit: 10 MB// Time Limit: 1000 ms// Date: 2021-03-30 21:04:0原创 2021-03-30 21:38:04 · 297 阅读 · 0 评论 -
Josephus Transform(置换群&树状数组)
Josephus Transform(置换群&树状数组)思路:置换群&树状数组。考虑:用树状数组维护第kkk位置的编号。然后我们需要求出kkk对于的置换ppp。p[i]p[i]p[i]表示的含义是 编号为iii的对应人的位置是p[i]p[i]p[i]。然后进行快速幂,得到编号为iii对应的人的位置是ans[i]ans[i]ans[i]。因为要按位置输出,所以修改一下,p[ans[i]]=ip[ans[i]]=ip[ans[i]]=i。注意不能反过来快速幂,即设p[i]p[i]p原创 2020-07-28 17:01:13 · 390 阅读 · 0 评论 -
置换群的习题
POJ.1721.CARDS题意:给定n,sn,sn,s和排列a1,a2…,ana_1,a_2\dots,a_na1,a2…,an,若置换ps=ap^s=aps=a,求置换ppp。考虑先找到排列aaa的循环节lenlenlen,即aaa置换len−s%lenlen-s\%lenlen−s%len次能得到ppp,因为[(len−s%len)+s]%len=0[(len-s\%len)+s]\%len=0[(len−s%len)+s]%len=0,即为aaa,所以暴力操作特判即可。#include&原创 2020-07-15 09:12:50 · 1078 阅读 · 0 评论