由于自己的作息极其不规律导致比赛被打爆了 但是有的时候状态其实还行。

关于Ploya定理其实特别有意思 这里粘一个[dalao的blog](https://blog.csdn.net/lyc1635566ty/article/details/52545355)

以后有时间了我再写Ploya定理的证明吧。

LINK:[POJ Color](http://poj.org/problem?id=2154)

题目大意:给一个长度为n的项链用n种颜色进行染色 项链可以旋转求有多少种本质不同的方案数。

怎么说,ploya裸题 显然一共有n种置换 每种置换之中循环节的个数是多少呢?

经过不断试验 发现对于旋转i个位置的置换 循环节个数为gcd(i,n);

于是本质不同的方案数$L=\frac{1}{|G|}\sum{n^{gcd(i,n)}}$

但是$n\leq 1000000000$ 且有T组询问$T\leq 3500$

我们暴力显然是过不了的 考虑一番特殊性质 设$d=gcd(i,n)$那么显然有d|n d一定是n的因数我们知道n的因数的数量级有$\sqrt{n}$

所以我们要是可以先办法对于$\sqrt{n}$这么多个因数各自算出数量显然也是可以得到答案的。

那么 现在存在一个子问题 $\sum_{i=1}^{n}{gcd(i,n)}$ 这个东西怎么求.

这是一个非常经典的问题了,这等价于 $\sum_{d|n}\sum_{i=1}^{\frac{n}{d}}{d\cdot [gcd(i,\frac{n}{d})=1]}$

好像推不下去了 其实这个时候该反演了...我们莫比乌斯反演一下

$\sum_{k|n}\mu(k)\sum_{d|\frac{n}{k}}\frac{n}{k}$

我也无能为力了 推到死胡同了...自闭。

那么我们从另一个方面再继续推 $\sum_{d|n}\sum_{i=1}^{\frac{n}{d}}{d\cdot [gcd(i,\frac{n}{d})=1]}$

我们发现后面那个东西其实是欧拉函数 那么上式=$\sum_{d|n}d\cdot \phi(\frac{n}{d})$

这里我们暴力枚举d 再暴力算$\phi(\frac{n}{d})$肯定会T

不妨将n质因数分解了然后 接爆搜因数 这样计算欧拉函数会快很多很多 复杂度sqrt(n)+1000左右不算很高.

当然 还有一种异常靠谱的方法 这里给出[blog链接](https://www.cnblogs.com/zhchoutai/p/8450361.html) 不太懂这种方法.

回归到原题上求: $L=\frac{1}{|n|}\sum{n^{gcd(i,n)}}$ 其实就就是 d变成了 $d^{n-1}$罢了 (爆搜可行..

Ploya定理学习笔记的更多相关文章

  1. Burnside引理与Polya定理 学习笔记

    原文链接www.cnblogs.com/zhouzhendong/p/Burnside-Polya.html 问题模型 有一个长度为 $n$ 的序列,序列中的每一个元素有 $m$ 种取值. 如果两个序 ...

  2. Lucas定理学习笔记

    从这里开始 一个有趣的问题 扩展Lucas算法 一个有趣的问题 题目大意 给定$n, m, p$,求$C_{n}^{m}$除以$p$后的余数. Subtask#1  $0\leqslant m\leq ...

  3. Master定理学习笔记

    前言 \(Master\)定理,又称主定理,用于程序的时间复杂度计算,核心思想是分治,近几年\(Noip\)常考时间复杂度的题目,都需要主定理进行运算. 前置 我们常见的程序时间复杂度有: \(O(n ...

  4. Matrix_tree Theorem 矩阵树定理学习笔记

    Matrix_tree Theorem: 给定一个无向图, 定义矩阵A A[i][j] = - (<i, j>之间的边数) A[i][i] = 点i的度数 其生成树的个数等于 A的任意n ...

  5. 生成树计数 Matrix-Tree 定理 学习笔记

    一直都知道要用Matrix-Tree定理来解决生成树计数问题,但是拖到今天才来学.博主数学不好也只能跟着各位大佬博客学一下它的应用以及会做题,证明实在是不会. 推荐博客: https://www.cn ...

  6. Polya 定理 学习笔记

    群 群的定义 我们定义,对于一个集合 \(G\) 以及二元运算 \(\times\),如果满足以下四种性质,那我们就称 \((G,\times)\) 为一个群. 1. 封闭性 对于 \(a\in G, ...

  7. 矩阵树定理&BEST定理学习笔记

    终于学到这个了,本来准备省选前学来着的? 前置知识:矩阵行列式 矩阵树定理 矩阵树定理说的大概就是这样一件事:对于一张无向图 \(G\),我们记 \(D\) 为其度数矩阵,满足 \(D_{i,i}=\ ...

  8. Pólya 定理学习笔记

    在介绍\(Polya\) 定理前,先来介绍一下群论(大概了解一下就好): 群是满足下列要求的集合: 封闭性:即有一个操作使对于这个集合中每个元素操作完都使这个集合中的元素 结合律:即对于上面那个操作有 ...

  9. [HEOI2015]小Z的房间(矩阵树定理学习笔记)

    题目描述 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子.在一开始的时候,相邻的格子之间都有墙隔着. 你想要打通一 ...

随机推荐

  1. css sprites(精灵图)如何使用?

    CSS Sprites是一种性能优化技术,一种网页图片应用处理方式:将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能:也被称为css 精灵图. 网页通常包含多个图像.这些包括图标,按钮,徽 ...

  2. SQL基础随记1 SQL分类 常用函数 ALL ANY EXISTS IN 约束

    SQL基础随记1 SQL分类 常用函数 ALL ANY EXISTS IN 约束   其实这里知识不难,只是好久不接触突然被问的话有时还真的一时答不上,自己写一遍胜过盲扫.当然,也有些常读常新的地方会 ...

  3. H3c实验室-(OSPF,Nat,STP,Dhcp,Acl)v.1)

    实验声明 本实验纯属学习记录性质,如有错误,请大哥帮忙提出,马上改正谢谢~还有学习H3c心态要好,他有超级多的bug!!!! 实验介绍 实验条件 实验开始 把图设计好 先说明一下RTA-RTB的线路是 ...

  4. Vue---day05

    目录 2. 客户端项目搭建 2.1 创建项目目录 2.2 初始化项目 2.3 安装路由vue-router 2.3.1 下载安装路由组件 2.3.2 配置路由 2.3.2.1 初始化路由对象 2.3. ...

  5. Report.Net 本地数据库、WebService、Socket报表

    本地.服务器的Access.Sql报表编辑.预览.打印. 可自定义预览界面,可方便嵌入到你的程序中去,提供接口函数,如有需要可自行添加接口. 预览采用单双面方式,因为如果页面过多,预览不能全部加载,所 ...

  6. Window - 安装 Jenkins

    安装方式 war 包放 Tomcat 下 直接安装 jenkins.msi 环境准备 安装 jdk.tomcat,参考:https://www.cnblogs.com/poloyy/p/1326781 ...

  7. Maven 专题(一):Maven 安装与配置(vscode)

    0.首先了解一下maven安装目录 Bin:该目录包含Mvn运行的脚本 Boot:Maven自身的类加载器框架 Conf:包含非常重要的文件setting.xml Lib:该目录包含了所有Maven运 ...

  8. day4:运算符

    1.算术运算符:+ - * / // % ** 注意点:1./ 除法,结果为小数  2.// 地板除,返回整数  3.如果被除数或者除数是一个小数,结果加上.0 2.比较运算符:< > & ...

  9. js dom演示

    <body> <div id="div1"> <p name="p1">p1内容</p> <p name= ...

  10. 手把手撸套框架-ORM框架的选择

    目录 一,为什么选择SqlSugar? 在.net core ORM框架中,能选择的方案其实有很多,包括以下方案: 1,EF-Core 2,Dapper 3,FreeSql 4,SqlSugar 为什 ...