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

关于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}$罢了 (爆搜可行..

最新文章

  1. 微软开放.NET框架源代码和Mono
  2. (十四)Maven聚合与继承
  3. html5.js让IE(包括IE6)支持HTML5元素方法
  4. celery与mangodb搭配应用
  5. hdu 敌兵布阵(线段树之单点更新)
  6. Round Numbers(组合数学)
  7. Android中修改状态栏的颜色和我们App的风格一致
  8. Ajax获得站点文件内容实例
  9. IOS笔记 #pragma mark的用法
  10. Django是Python下的一款网络服务器框架
  11. NOIP 2017 day -1 杂记
  12. java绘图原理------在窗口界面(或面板上)画出一张或多张图片问题解决方法
  13. spark MLlib实现的基于朴素贝叶斯(NaiveBayes)的中文文本自动分类
  14. Redis-09.慢查询
  15. Day17总结
  16. SNF软件开发机器人-子系统-功能-数据列表分页与不分页-瀑布式分页-如何配置?
  17. 2017年天梯赛LV2题目汇总小结
  18. attempt to open datawindow failed@安装两个PB软件
  19. selenium批量翻译
  20. canvas绘制简易动画

热门文章

  1. Java嵌套类,内部类和外部类
  2. H5+CSS复习笔记(全)
  3. CSS3 实现复杂的背景图案
  4. day15 名称空间与作用域
  5. mysql numeric
  6. 【RCTF-2015】bug
  7. 错题重错之枪战Maf
  8. 08 Flask源码剖析之flask拓展点
  9. CMDB02/ 单例模式、资产采集参考命令、日志处理
  10. redis(五):Redis 键(key)(python)