参考https://blog.csdn.net/anxdada/article/details/76862564、 https://blog.csdn.net/baidu_35643793/article/details/75268911

一些涂色方案项链在一些变化下G={一些旋转..,一些翻折..}等价,要找出不等价的涂色方案数,或者说等价类数。

置换所构成的元素之间的关系来表示这几种方案间等价关系。

Burnside。各种置换下不变元素(元素,方案(,,))个数之和 == 置换数乘等价类个数(不同类,类数)

各置换中不变元素(不动点)个数之和 = ∑n^循环节(置换的轮换表示看到,置换的成分 (旋转置换的循环节))的个数之和。不变元素,置换后方案没有变。也可以认为是分别保持各种元素不变的置换数之和Zk之和。2×2正方形黑白染色例子,可以认为16+2+4+2,2^4+2^1+2^2+2^1;也是4+4+1+..。等价类个数。等价的元素看放一起看作一点后的点数。

旋转置换,循环节数gcd(m, i),i为旋转角度。m/t,t为等价类中元素个数

翻折置换,奇数,循环为1,2,循环节数m/2+1;偶数循环为2,对称轴两类个m/2个,循环节数分别为过顶点m/2+1不过顶点m/2加起来。

还有除以置换种类数,因为取模,转化为求同余的结果,借用逆元,费马小定理(就用1e9+7, inv(a)=pow(a, p-2)%p)或者扩展欧几里得算法。

Invoker-n颜色涂m个珠子的项链的更多相关文章

  1. [ACM] hdu 3923 Invoker (Poyla计数,高速幂运算,扩展欧几里得或费马小定理)

    Invoker Problem Description On of Vance's favourite hero is Invoker, Kael. As many people knows Kael ...

  2. hdu-2865-polya+dp+矩阵+euler函数

    Birthday Toy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  3. 【POJ2154】Color Pólya定理+欧拉函数

    [POJ2154]Color 题意:求用$n$种颜色染$n$个珠子的项链的方案数.在旋转后相同的方案算作一种.答案对$P$取模. 询问次数$\le 3500$,$n\le 10^9,P\le 3000 ...

  4. 线段树专题—ZOJ1610 Count the Colors(涂区间,直接tag标记)

    Painting some colored segments on a line, some previously painted segments may be covered by some th ...

  5. 洛谷P1283 平板涂色 &&一本通1445:平板涂色

    题目描述 CE数码公司开发了一种名为自动涂色机(APM)的产品.它能用预定的颜色给一块由不同尺寸且互不覆盖的矩形构成的平板涂色. 为了涂色,APM需要使用一组刷子.每个刷子涂一种不同的颜色C.APM拿 ...

  6. HDU 3923 Invoker | 暑训Day1 C题填坑

    暑训第一天,专题为组合数学与概率期望. 最近一个月都没有学习新的知识,上午听聚聚讲课头脑都是一片空白.加上长期没刷题,下午做练习题毫无感觉.到晚上总算理清了蓝书上的一些概念,跟着榜单做题.最后唯独剩下 ...

  7. SPOJ 422 Transposing is Even More Fun(polay计数)

    题目链接:http://www.spoj.com/problems/TRANSP2/ 题意: 思路:不妨设a=1,b=2, 我们发现(001,010,100)组成一个置换,(011,110,101)组 ...

  8. POJ 2409 Let it Bead(polay计数)

    题目链接:http://poj.org/problem?id=2409 题意:给出一个长度为m的项链,每个珠子可以用n种颜色涂色.翻转和旋转后相同的算作一种.有多少种不同的项链? 思路: (1) 对于 ...

  9. poj 2409 Let it Bead && poj 1286 Necklace of Beads(Polya定理)

    题目:http://poj.org/problem?id=2409 题意:用k种不同的颜色给长度为n的项链染色 网上大神的题解: 1.旋转置换:一个有n个旋转置换,依次为旋转0,1,2,```n-1. ...

随机推荐

  1. ansible如果兼容Centos5

    基本安装 安装gcc,用于编译python源码 yum install gcc 更新python版本 centos自带python2.6版本,由于centos已对python深度依赖,所以更新pyth ...

  2. 浅谈前端nuxt(ssr)

    SSR: 服务端渲染(Server Side Render),即:网页是通过服务端渲染生成后输出给客户端. 一.那为什么要使用SSR呢? 我用一句话理解的就是降低SPA(Single Page App ...

  3. append导致TypeError: 'NoneType' object is not iterable

    a=[1,2,3] a.append(4) a Out[4]: [1, 2, 3, 4] a=a.append(5) print(a) None a =[1,2,3] print(a.append(4 ...

  4. Oracle启用和禁用触发器

    1.禁用 table_name 表的所有 trigger alter table table_name disable all triggers; 2.启用 table_name 表的所有 trigg ...

  5. SpringBoot项目中禁用HttpClient那些嘈杂的日志

    在SpringBoot中使用了HttpClient之后,会产生大量嘈杂且基本无效的日志信息,如下图: 找了很多文章,大部分用common-logging.propertites,log4j.prope ...

  6. RSA加密、解密、签名、验签的原理及方法

    一.RSA加密简介 RSA加密是一种非对称加密.可以在不直接传递密钥的情况下,完成解密.这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险.是由一对密钥来进行加解密的过程,分别称为公钥和私 ...

  7. python 几分钟前,几小时前,几天前转为时间戳

    一开始我是这么做的 import time import datetime def conv_time(t): min = re.findall('\d+', t)[0] if u'分钟' in t: ...

  8. 获取上一页面url

    console.log(window.location.host); #js获取当前域名 console.log(window.location.href); #js获取当前url console.l ...

  9. Linux系统启动过程(通俗易懂)

    前言: Linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布.在加上用户空间的应用程序之后,成为Linux操作系统.Linux是自由软件 ...

  10. lumion物体系统,导入模型6.3

    选择物体后可以改变它的颜色 “导入”“导入新模型.”su中模型分正面反面.在lumion中显示是不一样的.正面是可以显示出来的,反面就是透明的,lumion只能识别不同的材质,所以在su中要用不同的颜 ...