Polya定理 L=1/|G|*(m^c(p1)+m^c(p2)+...+m^c(pk)) G为置换群大小 m为颜色数量 c(pi)表示第i个置换的循环节数 如置换(123)(45)(6)其循环节数为3--------------------------------------------...
分类:
其他好文 时间:
2015-04-08 14:38:24
阅读次数:
142
题意: 给定一个1~n的排列(nusing namespace std;const int MAXN = 3009;int f[MAXN], g[MAXN], pos[MAXN];int n, m, ans, sum, t;int main() { scanf ("%d", &n); ...
分类:
其他好文 时间:
2015-04-02 23:49:02
阅读次数:
215
这题先预处理数组有多少个置换,这样的话,每个置换最少要被选到一次,最多就是置换长度的次数,利用这些置换进行DP,和背包一样的,每个置换当成一个物品,选择的概率很容易算出,利用这点进行状态转移即可算出种数,最后在除上总情况数就可以算出概率
代码:
#include
#include
#include
#include
using namespace std;
const int N =...
分类:
其他好文 时间:
2015-04-01 15:21:59
阅读次数:
120
和UVa11077的分析很类似。我们固定左脚的鞋子不动,然后将右脚的鞋子看做一个置换分解。对于一个长度为l的循环节,要交换到正确位置至少要交换l-1次。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 bool vis[...
分类:
其他好文 时间:
2015-03-27 23:45:02
阅读次数:
271
Double Dealing
Time Limit: 50000/20000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1893 Accepted Submission(s): 672
Problem Description
Take a dec...
分类:
其他好文 时间:
2015-03-20 14:35:06
阅读次数:
121
最近在virtualbox中安装了Ubuntu 14,配置了一个mysql server,设置的桥接网络模式。在其他电脑连接的时候,总是报2003错误。开始以为是localhost没有置换为%,运行update语句将其置换,依然不行。后来发现是因为mysql的默认配置文件/etc/mysql/my....
分类:
数据库 时间:
2015-03-14 22:59:01
阅读次数:
204
思路挺简单的,题目中的每个命令(包括命令的逆)相当于一个置换。用O(n2k)的时间复杂度从右往左求出这些置换的乘积A,然后求m使Am = I(I为全等置换)还是先把A分解循环,m则等于所有循环节长度的最小公倍数。需要注意的是:执行命令是从右往左执行的,这是题目中说的=_=其他命令还好,mix那个命令...
分类:
其他好文 时间:
2015-03-13 00:13:04
阅读次数:
319
给出一个26个大写字母的置换B,是否存在A2 = B每个置换可以看做若干个循环的乘积。我们可以把这些循环看成中UVa 10294的项链, 循环中的数就相当于项链中的珠子。A2就相当于将项链旋转了两个珠子间的距离,珠子0、2、4...构成一个循环,一共有gcd(n, 2)个循环,每个循环的长度为n /...
分类:
其他好文 时间:
2015-03-12 14:46:48
阅读次数:
183
Burnside定理:若一个着色方案s经过置换f后不变,称s为f的不动点,将置换f的不动点的数目记作C(f)。等价类的数目等于所有C(f)的平均值。一个项链,一个手镯,区别在于一个能翻转一个不能,用t种颜色染n颗珠子,求等价类的个数。旋转置换群一共有n个置换,分别对应将项链整体逆时针旋转0个、1个、...
分类:
其他好文 时间:
2015-03-12 00:50:45
阅读次数:
122
第一问置换群裸题。第二问单独考虑某个循环,任意交换两个元素,稍微画一下就会发现,把该循环拆成了2个,剩下所需的交换次数减少了1,也就是说,第一步我们任意交换,都能够保证交换次数最少。于是一个循环的答案就是n*(n-1)/2,把所有的加起来即可。进而我们发现,在剩下的步骤里面,我们只需在拆出来的两个循...
分类:
其他好文 时间:
2015-03-10 22:52:47
阅读次数:
200