参考博客:

https://blog.csdn.net/liangzhaoyang1/article/details/72639208

题目链接:

https://codeforces.com/gym/101873/problem/B

题意:

给出$C$种颜色,涂在每面墙大小为$n\cdot n$的正$m$角楼上,求本质不同的染色方法种数

数据范围:

$1\leq n\leq 500$

$3\leq m\leq 500$

$1\leq c\leq 500$

分析:

题目可以转化为$C^{n\cdot n}$种颜色,涂在有$m$个节点的项链上,求本质不同的染色方法种数

这样我们可以直接套用Polya模板

$$ans=\frac{1}{m}\cdot \left ( C^{gcd(1,m)} +C^{gcd(2,m)}+C^{gcd(3,m)}...+C^{gcd(m,m)}\right )$$

ac代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn = 1e3+10;
const int mod=1e9+7;
ll qpow(ll n,ll m)
{
ll res=1;
ll k=n;
while(m)
{
if(m&1)res=res*k%mod;
k=k*k%mod;
m/=2;
}
return res;
}
int main()
{
// cout<<qpow(4,5)<<" "<<qpow(5,4)<<endl;
ll n,m,c,ans=0;
cin>>n>>m>>c;
ll g=qpow(c,n*n);
for(ll i=1;i<=m;i++)
ans=(ans+qpow(g,__gcd(i,m)))%mod;
ans=ans*qpow(m,mod-2)%mod;
cout<<ans<<endl;
return 0;
}

  

codeforces gym #101873B. Buildings(Polya定理)的更多相关文章

  1. 【转】Polya定理

    转自:http://endlesscount.blog.163.com/blog/static/82119787201221324524202/ Polya定理 首先记Sn为有前n个正整数组成的集合, ...

  2. 【群论】polya定理

    对Polya定理的个人认识     我们先来看一道经典题目:     He's Circles(SGU 294)         有一个长度为N的环,上面写着“X”和“E”,问本质不同的环有多少个(不 ...

  3. [wikioi2926][AHOI2002]黑白瓷砖(Polya定理)

    小可可在课余的时候受美术老师的委派从事一项漆绘瓷砖的任务.首先把n(n+1)/2块正六边形瓷砖拼成三角形的形状,右图给出了n=3时拼成的“瓷砖三角形”.然后把每一块瓷砖漆成纯白色或者纯黑色,而且每块瓷 ...

  4. HDU 3923 Invoker(polya定理+逆元)

    Invoker Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 122768/62768 K (Java/Others)Total Su ...

  5. Polya定理

    http://www.cnblogs.com/wenruo/p/5304698.html 先看 Polya定理,Burnside引理回忆一下基础知识.总结的很棒. 一个置换就是集合到自身的一个双射,置 ...

  6. POJ 2409 Let it Bead(Polya定理)

    点我看题目 题意 :给你c种颜色的n个珠子,问你可以组成多少种形式. 思路 :polya定理的应用,与1286差不多一样,代码一改就可以交....POJ 1286题解 #include <std ...

  7. POJ 1286 Necklace of Beads(Polya定理)

    点我看题目 题意 :给你3个颜色的n个珠子,能组成多少不同形式的项链. 思路 :这个题分类就是polya定理,这个定理看起来真的是很麻烦啊T_T.......看了有个人写的不错: Polya定理: ( ...

  8. 百练_2409 Let it Bead(Polya定理)

    描述 "Let it Bead" company is located upstairs at 700 Cannery Row in Monterey, CA. As you ca ...

  9. polya定理小结

    polya的精髓就在与对循环节的寻找,其中常遇到的问题就是项链染色类问题. 当项链旋转时有n种置换,循环节的个数分别是gcd(n, i); 当项链翻转时有n种置换,其中当项链珠子数位奇数时,循环节的个 ...

随机推荐

  1. 01docker基本概念

    docker基本概念 官方文档URL:https://docs.docker.com/ 1.Docker的构想是要实现"Build, Ship and Run Any App, Anywhe ...

  2. docker-compose.yml 部署Nginx、Java项目、MySQL、Redis

    version: "3.7" services: nginx: image: nginx restart: always container_name: nginx environ ...

  3. java中的接口和php的接口的区别

    php: 规范: 接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量. 在接口中的抽象方法只能是public的,默认也是public权限. abstract和final修饰符也不能修饰接口中 ...

  4. vue-cli3配置eslint

    一.默认配置 以下是package.json文件中关于的eslint默认配置 "eslintConfig": { "root": true, "env ...

  5. Extjs中,Vo对象中的属性无法在data中获取的解决方法

    store.getById(data.data.id).raw.redpackid

  6. VSCode主题自定义(附详细注释及本人主题分享)

    先来一张本人自己配置的主题截图,喜欢的拿去用: 下面说说怎么自定义主题: 1.     Ctrl + ,(Ctrl键 + 逗号键):打开设置,也可以依次点击编辑器左上角 => 文件 => ...

  7. vue中的常用三元

    点击事件的三元 <el-button type="primary" @click="edit == 'mod' ? sureModify() : submit()& ...

  8. vue数组中数据变化但是视图没有更新解决方案

    原文链接:http://www.cnblogs.com/sufubo/p/6906261.html#undefined 问题:在vue项目中,我更改数组中的某一条数据,直接arr[i]=newVal ...

  9. [转] TextCNN调参技巧

    原文地址: https://plushunter.github.io/2018/02/26/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86 ...

  10. Bmake

    Bmake is a common makefile framework. Both support native build and cross build. Easy for use, modif ...