置换群定理 Pólya定理:

版权声明:本文为博主瞎写的,请随便转载 https://blog.csdn.net/sdut_jk17_zhangming/article/details/82025128

Pólya定理:

在一个置换群G={a1,a2,a3……ak}中,设C(ak)是在置换ak的循环节个数,那么用m种颜色染图这n个对象,则不同的染色方案数为:

​
int main()
{
    //用c种颜色给有n*n的格子的墙染色 用m墙围成房子 问不同的房子多少种    
    ll n,m,c,i,ans = 0,x;
    scanf("%lld%lld%lld",&n,&m,&c);

    for(i=0;i<m;i++)
    {
        x = __gcd(i,m);
        ans += pow_mod(c,n*n*x);
        ans %= mod;
    }
    ans = ans * pow_mod(m,mod-2)%mod;
    printf("%lld\n",ans);
    return 0;
}

​

猜你喜欢

转载自blog.csdn.net/sdut_jk17_zhangming/article/details/82025128