当前位置:网站首页>Magic Bracelet-【群论】【Burnside引理】【矩阵快速幂】
Magic Bracelet-【群论】【Burnside引理】【矩阵快速幂】
2022-07-28 08:28:00 【秦小咩】
并不像普通群论题,本题不考察polya,考察Burnside引理,并且巧妙的与欧拉函数,DP,矩阵快速幂结合,非常具有综合性和典型性。
Burnside 引理
方案数等于各置换不动点的平均数
这里要特别强调一下不动点,指的是整个圆在旋转之后不变,而非圆上某个点的状态。
根据群论循环置换结论
环每个点旋转i个点,所构成的循环数为gcd(i,n)
这里需要着重强调一下这 gcd(i,n)个循环究竟长什么样子。
下图中,相同颜色为一个循环,易知循环长度为3,循环内点必须满足颜色相同才能满足整个圆旋转之后成为一个“不动点”

由此我们得出第 1个点属于第一个循环,第2个点属于第二个循环,直至第n个点属于第n个循环,第n+1个点属于第一个循环。也就是说,前n个点我们就可以确定这n个循环的状态,也就是整个圆的状态,只要我们求出满足题目排斥要求的n个点的排列方案数,那么整个圆也就被确定了。
显然可以设 f[i][j]为 第i个点是j颜色的方案数,那么它由上一个点转移而来,转移方程为
其中m(i,j)是约束条件,0或者1代表是否能够相邻
但是仅仅满足这种线性关系还不够,第n个点其实是和第1个点相邻的。那么我们可以枚举第1个点的颜色,输出 f[n+1][k]即可,f[n+1][k]完全由f[n][]整体推出,除了去掉与1排斥的条件,都是相同的。这时我们求出了 C(f) = f[n+1][k] ,即不动点数
根据Burnside定理
总方案数等于

该公式有转化为欧拉函数的步骤,这里暂且将gcd=d时的C(f)记作 C(d)

这样就可以直接枚举n的因数即可,欧拉函数也可以快速求解,复杂度降低
下面集中处理C(d)
直接嵌套循环求DP数组肯定完爆

边栏推荐
猜你喜欢

Realize batch data enhancement | use of keras imagedatagenerator
Mobaxtermsession synchronization

What are the main uses of digital factory management system

IntelliJ IDEA 关联数据库

Digital signatures and Ca certificates

Overview of head pose estimation
![Train your own classification [Bao Jiaobao, the data are ready]](/img/bd/08d0fbf0d41bb5ba7c418848ea1a4c.jpg)
Train your own classification [Bao Jiaobao, the data are ready]

Implementation principle of golang synergy

Design for failure常见的12种设计思想

DIY system home page, your personalized needs PRO system to meet!
随机推荐
Implementation principle of golang synergy
Data fabric, next air outlet?
C#简单调用FMU ,进行仿真计算
How to obtain the subordinate / annotation information of KEGG channel
5 运算符、表达式和语句
[English postgraduate entrance examination vocabulary training camp] day 15 - analyze, general, avoid, surveillance, compared
Feign调用异常[Running, pool size = 10, active threads = 10, queued tasks = 0, completed tasks = n]
Mongodb (compare relational database, cloud database, common command line, tutorial)
MDM数据质量应用说明
快速上手Flask(一) 认识框架Flask、项目结构、开发环境
IDC脚本文件运行
训练一个自己的分类 | 【包教包会,数据都准备好了】
Introduction to official account
Design for failure常见的12种设计思想
Deconstruction assignment of ES6 variables
Realize batch data enhancement | use of keras imagedatagenerator
Review the past and know the new MySQL isolation level
7 C控制语句:分支和跳转
2022年安全员-B证考试模拟100题及答案
【592. 分数加减运算】