群论
Icefox_zhx
这个作者很懒,什么都没留下…
展开
-
bzoj3113/hdu2481 Toy(矩阵树定理+polya+矩阵快速幂)
这神题,真是给跪了orz 首先你需要做过bzoj1002,我们得到了一个递推式f[n]=3f[n−1]−f[n−2]+2f[n]=3f[n-1]-f[n-2]+2,用来算n个点的方案数。 然后这题旋转同构,你需要polya,因为n很大,所以要欧拉函数优化,所以答案就是∑i|nϕ(i)f[n/i]\sum\limits_{i|n}\phi(i)f[n/i]。你需要O(n√)O(\sqrt n)枚举原创 2018-03-30 15:33:36 · 383 阅读 · 0 评论 -
spoj422 Transposing is Even More Fun(polya)
现在存储了一个2a∗2b 2^a * 2^b 的矩阵 • 矩阵在内存中是按行存储的 • 现在你想求它的转置 • 唯一允许的操作是交换两个内存位置的值 • 求最少需要的次数? • 4e5 组询问,每组询问 a + b <= 1e6首先,我们可以把内存中每个位置编码为一个 a + b 位的01串 那么内存 s 处存储的值的目标位置是 s 循环右移 b位对应的内存位置 设这些位置有 k 个循原创 2018-03-30 17:11:39 · 435 阅读 · 0 评论 -
poj1286 Necklace of Beads(polya)
polya计数。一个置换是长这样的,与列顺序无关: (12233441)\left(\begin{matrix} 1&2&3&4\\ 2&3&4&1\end{matrix}\right) 群,自己学习下吧,懒得写了(逃由拉格朗日定理,如果A是S的一个子群,则|A| | |S||A| \ | \ |S|,且A的所有陪集大小均相等,为|A|。由轨道-稳定化子定理 |orb原创 2018-03-27 11:33:39 · 291 阅读 · 0 评论 -
poj2409 Let it Bead(polya)
m种颜色,给n个点的环染色,旋转同构,翻转同构。类似poj1286你问我怎么看出来翻转同构的?看…看例子!原创 2018-03-27 11:45:28 · 316 阅读 · 0 评论 -
uva11255 Necklace(polya+组合数学)
三种颜色的珠子分别有a,b,c颗,用这些珠子能串成多少种不同的环?考虑翻转同构,旋转同构。(3<=a+b+c<=40)我们先搞出置换群G,这次不同的是我们的集合M有了限制,但不要紧,我们还是要求G中每个置换下的不动点个数的算术平均数。先考虑旋转同构: 还是考虑有k个循环节,那么每个循环节的长度len=n/k。每个循环节内的颜色都必须相同,这也就意味着每种颜色的个数一定要是len的倍数,否则一定不存原创 2018-03-27 13:41:41 · 368 阅读 · 0 评论 -
poj2154 Color(polya+欧拉函数)
只有循环同构。n很大,必须用欧拉函数来优化一下计算。计算较大数的欧拉函数可以直接枚举质因子来算,应该远小于n√\sqrt n。 为什么大家都跑的那么快呀orz,是蒟蒻姿势不对么原创 2018-03-27 14:21:52 · 282 阅读 · 0 评论 -
bzoj1004 [HNOI2008]Cards(burnside引理+背包dp)
题目保证给出的置换再加上一个单位元之后是一个群。因此我们就是要求集合M关于置换群的轨道数,根据burnside引理,就是对每一个置换求不动点个数,我们可以dfs出每一个置换的所有轮换,然后跑一个三维背包dp来计算可行的方案数。复杂度O(mn3)O(mn^3)。最后求一个逆元。 网上那些什么没有不动点的都是假的,HN数据水罢了-,- 比如你看这组样例:2 2 0 1 7 3 4 1 2原创 2018-03-27 15:54:43 · 264 阅读 · 0 评论 -
poj2888 Magic Bracelet(burnside引理+矩阵快速幂+欧拉函数)
用m种颜色给n个点的一个环染色,有一些限制条件,表示颜色a和颜色b不能相邻,考虑旋转同构,求方案数。(m<=10,n<=1e9) n很大,只能O(n−√)O(\sqrt n)枚举循环节个数k,枚举素数计算欧拉函数。因为颜色的限制,我们现在的问题在于要计算:给定一些颜色不能相邻,把k个位置染色的方案数。(这里准确的说,不仅仅是给k个位置染色,还要保证头尾颜色也要合法),因此其实就是求从颜色i走K步回原创 2018-03-27 18:31:53 · 449 阅读 · 0 评论 -
bzoj1488 [HNOI2009]图的同构(群论+组合数学+polya)
感觉我的排列组合需要回炉重造一下了qaq求不同构的n个点的简单图的种类数。因为每条边有存在或不存在两种选择,所以可以转化为完全图上对边的2染色计数。但是我们只能处理点的置换(就是个n次对称群),而对于边的置换我们就很gg了。我们考虑对于一个点的置换,能否直接得出这种情况下的边的置换。每条边无非两种情况: 1、两点处在同一循环节中 2、两点处在不同循环节中 我们考虑一个长度为x的循环节内部,边的原创 2018-03-27 22:29:44 · 496 阅读 · 0 评论