题目链接:http://www.spoj.com/problems/TRANSP2/ 题意: 思路:不妨设a=1,b=2, 我们发现(001,010,100)组成一个置换,(011,110,101)组成一个置换.那么对于同一个置换中元素,设置换大小为x,则需要x-1次交换.因此,我们若找到循环节的个数K,那么答案即为2^(a+b)-K. a+b个珠子的项链,每个珠子可以用两种颜色涂色,通过每次左移a个珠子得到的相同的视为相同.求不同项链的个数.问题就转化成这个.设g=Gcd(a,a+b),则置换…
这题目就比较有趣了. 大概题目中介绍了一下计算机的储存方法,给一个$2^a*2^b$的矩阵. 求转置.但是只能交换两个数,求所需要的步数. 首先可以把变化前后的位置写出来,构成了许多的循环.左转将狼踩尽博客 然后就是求循环的个数了. 发现循环都是左移形成的,可以直接计算本质不同的串的个数. (这里用到一个小优化,把最小的循环节找出来可以简化问题,这样子可以变成循环任意多次,就能用欧拉函数了) 然后就是一顿模板 (POJ2154) 然后交上去 TLE. SPOJ太慢了 1s跑不过40w的$nsqr…
题面 这种换来换去的东西很容易想到置换群那一套,然后题目甚至还暗示了二进制=.= 直接换的话显然是$2^{a+b}$次,但是一个循环节里可以少换一次,然后问题就变成了数循环节 在一个循环节里的位置有什么特征?用二进制表示位置,那么他们的位置可以通过循环左移a位/循环右移b位互相表示,然后问题就变成了:在左移a位/右移b位的置换群作用下,在a+b个01构成的环里找等价类.仍然不好做,因为现在直接Burnside做不出来,Polya又还没法做,继续转换 我们把每$gcd(a,b)$个数缩成一个,也就…
在组合数学中有这样一类问题,比如用红蓝两种颜色对2*2的格子染色,旋转后相同的算作一种.有多少种不同的染色方案?我们列举出,那么一共有16种.但是我们发现,3,4,5,6是同一种,7,8,9,10是用一种,11,12是同一种,13,14,15,16是同一种,也就是只有6种本质上不同的染色.小规模我们可以列举所有方案然后再选择,大规模的时候是很难列举所有方案的.下面,我们说明用Burnside引理和polay计数来解决这类问题. 一.置换群G:即指所有的置换.上面的例子中置换只有4种,即旋转0.9…
题意: 给出a.b 表示按先行后列的方式储存矩阵 现在要将其转置 可以交换两个点的位置 求最小操作次数 题解: 储存可以将其视为拉成一条链 设a=5.b=2 则在链上坐标用2^***(a,b)表示为(xxxxxyy) 转置后为(yyxxxxx) 这时将其视为另一个点的坐标 继续转置为(xxyyxxx)... 直到再变成(xxxxxyy)这样每次循环可以节省1次转置 所以ans=2^(a+b)-k k为循环的个数k的计算:右移b位 右移b*2位 右移b*3位... 构成了一个置换群 置换个数为(a…
题目链接:http://poj.org/problem?id=2409 题意:给出一个长度为m的项链,每个珠子可以用n种颜色涂色.翻转和旋转后相同的算作一种.有多少种不同的项链? 思路: (1) 对于Burnside引理,G为所有置换集合,|G|为所有置换个数,gi为第i种置换,D(gi)为在第i种置换下保持不动的元素个数. 对于Polay定理,G为所有置换集合,|G|为所有置换个数,gi为第i种置换,n为颜色的种类,c(gi)为第i种置换的循环节个数. (2)对于Polay,一般解题步骤:确定…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4633 题意:有下面一个魔方.有K种颜色.可以为顶点.边.面(每个面有9个小面)染色.两种染色算作一种当通过旋转(是旋转整个魔方)变得一样.求有多少种不同的染色? 思路:这个跟普通的一样..找到置换,这个有四种,找到每种置换下的循环节.. i64 Pow(i64 a,i64 b){    i64 ans=1;    while(b)    {        if(b&1) ans=ans*a%mod;…
题目链接 \(Description\) 一个国家有1~n座城市,其中一些城市之间可以修建高速公路(无自环和重边). 求有多少种方案,选择修建一些高速公路,组成一个交通网络,使得任意两座城市之间恰好只有一条路径. \(Solution\) 生成树计数 直接上Matrix Tree 无解情况别忘了判 MatrixTree定理大体见这吧,证明别的应用什么的先不管了. 基尔霍夫矩阵=度数矩阵-边矩阵. #include <cmath> #include <cstdio> #include…
题目描述 "Let it Bead" company is located upstairs at 700 Cannery Row in Monterey, CA. As you can deduce from the company name, their business is beads. Their PR department found out that customers are interested in buying colored bracelets. However…
公式: Burnside引理: 1/|G|*(C(π1)+C(π2)+C(π3)+.....+C(πn)): C(π):指不同置换下的等价类数.例如π=(123)(3)(45)(6)(7),X={1,2,3,4,5,6,7};那么C(π)={3,6,7}共3个等价类. Polya定理: 1/|G|*(mC(π1)+mC(π2)+mC(π3)+...+mC(πk)). 设G={π1,π2,π3........πn}是X={a1,a2,a3.......an}上一个置换群, 其中C(πk)为置换πk…