群指qq群,U群,L群,LG群等
代数系统: 由若干元素组成的集合,在上面定义 一元/二元…运算,要求运算必须是封闭的.
群: 由若干元素组成的集合,在上面定义二元运算*,满足 封闭性 结合律 存在单位元 存在逆元,则称G在*运算下是个群(运算一般叫乘法)
置换群: 由若干个置换组成的群,定义乘法为先做前一个置换,再做后一个置换。显然成群。这里记作 G G G
元素集: 置换用的元素集合。
等价类: 是一个由元素构成的集合,元素之间可以通过置换互相得到。 一般在题目中就是一堆本质相同的方案,题目要求的也是等价类的个数。元素 k k k的等价类写作 E k E_k Ek. E k ⊆ Ω E_k ⊆ Ω Ek⊆Ω
不动置换类: 所有无法移动元素 k k k的置换组成的集合。 k k k就是这些置换的不动点。 令元素 k k k的不动置换类为 Z k Z_k Zk, 显然 Z k ⊆ G Z_k ⊆ G Zk⊆G,也可以证明 Z k Z_k Zk自己也是个群,即 Z k Z_k Zk是 G G G的一个子群。
不动点: 置换 p p p下不动点的个数记作 c ( p ) c(p) c(p)
当 x , y 属 于 同 一 个 等 价 类 时 , ∣ Z x ∣ = ∣ Z y ∣ 当x,y属于同一个等价类时,|Z_x|=|Z_y| 当x,y属于同一个等价类时,∣Zx∣=∣Zy∣
这个显然吧
轨道-稳定化子定理: ∣ E k ∣ ∣ Z k ∣ = ∣ G ∣ \large |E_k||Z_k|=|G| ∣Ek∣∣Zk∣=∣G∣
证明直接搬神仙yyc的了,网上大多都是这么证的
等 价 类 个 数 l = 1 ∣ G ∣ ∑ c ( p i ) \large 等价类个数 \ l=\frac{1}{|G|}\sum c(p_i) 等价类个数 l=∣G∣1∑c(pi)
人 话 : 等 价 类 个 数 = 每 个 值 换 下 不 动 点 个 数 的 和 的 平 均 数 人话:等价类个数=每个值换下不动点个数的和的平均数 人话:等价类个数=每个值换下不动点个数的和的平均数
证明:
看神仙yyc的blog吧
但是一般题目不动点个数并不是那么好求,可以考虑每个置换的轮换环数,每个轮换环的颜色必须相等,所以 等 价 类 个 数 l = 1 ∣ G ∣ ∑ m c 1 ( p i ) , c 1 ( p i ) 表 示 p i 置 换 的 轮 换 环 数 \large 等价类个数 \ l=\frac{1}{|G|}\sum m^{c1(p_i)},c1(p_i)表示p_i置换的轮换环数 等价类个数 l=∣G∣1∑mc1(pi),c1(pi)表示pi置换的轮换环数
然后就莫得了
丢个例题 luogu P4980 【模板】Pólya 定理
直接套式子, 发现置换环的个数是 n n / g c d ( n , i ) n^{n/gcd(n,i)} nn/gcd(n,i)个,
a n s = ∑ i = 0 n n n / g c d ( n , i ) = ∑ i = 0 n n g c d ( n , i ) ans = \sum\limits_{i=0}^{n} n^{n/gcd(n,i)}=\sum\limits_{i=0}^{n} n^{gcd(n,i)} ans=i=0∑nnn/gcd(n,i)=i=0∑nngcd(n,i)
// luogu-judger-enable-o2
#include
#define mod 1000000007
#define ll long long
using namespace std;
ll qpow(ll x, ll y){
ll ret = 1;
for(;y; y >>= 1, x = x * x % mod) if(y & 1) ret = ret * x % mod;
return ret;
}
ll phi(int x){
ll ret = x;
for(int i = 2; i * i <= x; i ++) if(x % i == 0){
ret = ret / i * (i - 1);
while(x % i == 0) x /= i;
}
if(x > 1) ret = ret / x * (x - 1);
return ret;
}
int n, t;
int main(){
scanf("%d", &t);
while(t --){
scanf("%d", &n);
ll ans = 0;
for(int i = 1; i * i <= n; i ++) if(n % i == 0){
if(i * i != n) ans += qpow(n, n / i) * phi(i) % mod;
ans += qpow(n, i) * phi(n / i) % mod;
ans %= mod;
}
printf("%lld\n", ans * qpow(n, mod - 2) % mod);
}
return 0;
}
练习题
luogu P4128 [SHOI2006]有色♂图
luogu P4727 [HNOI2009]图的同构记数