hdu5822 color

Posted ph = x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu5822 color相关的知识,希望对你有一定的参考价值。

首先考虑假如是树上的做法:
考虑dp,f(i)表示对i的子树染色的方案数。
用hash可以实现查询两棵子树是否相同。
从而根据hash值排序分类,将相同的子树放在一类. (1)
f(i)等于每一类的f(p)乘起来除以此类大小size的阶乘。(2)
从而O(nlogn)求出了环周围的树的答案

然后考虑用群论求环上的答案。
等价于有tot个珠子(环上的点),每个珠子有一个颜色(子树的形状),我们说旋转x格是此问题的置换群之一,***当且仅当旋转x格后各个珠子的颜色与相应位置的要求依然吻合***。(3)
求旋转那些格数之后可以吻合可以用KMP匹配判断。
旋转x格后的不动点个数为$$\prod_{i=1}^{(tot,i)} f[p(i)]$$
(因为当子树形状相同时,必然有对应f值相同)
预处理前缀乘积,用Bunside公式计算答案即可。

以上是关于hdu5822 color的主要内容,如果未能解决你的问题,请参考以下文章

OpenJudge cdqz/Data Structure Challenge 2 (Problem 5822) - 可持久化线段树

而非热污染

unity 3d实例:创建游戏对象旋转的立方体Unity3D Button图片按钮Box控件Label控件Background ColorColor

动物世界

c#构造函数通过反射获取'base'部分

学习笔记——pygame最常用的15个模块