参考 https://wenku.baidu.com/view/fee9e9b9bceb19e8b8f6ba7a.html?from=search### 的最后一道例题 首先无向完全图是个若干点的置换,但是实际上要染色边,也就是要求边的置换 首先,通过dfs构造一个点的置换,然后再把每个置换分割加起来就是答案(实际上分割方案很少) 那么现在有一个点置换的长度(a1,a2,a3...),考虑边置换,一条边(pi,pj),如果pi,pj在不同的置换里,那么显然循环节是lcm(ai,aj),所以循环个…
题意 如果一张无向完全图(完全图就是任意两个不同的顶点之间有且仅有一条边相连)的每条边都被染成了一种颜色,我们就称这种图为有色图. 如果两张有色图有相同数量的顶点,而且经过某种顶点编号的重排,能够使得两张图对应的边的颜色是一样的,我们就称这两张有色图是同构的. 对于计算所有顶点数为 \(n\) ,颜色种类不超过 \(m\) 的图,最多有几张是两两不同构的图. 数据范围 \(n \le 53, 1 \le m \le 1000\) 题解 神仙题qwq 我们考虑对于点置换与其对应的边置换的关系: 对…
1815: [Shoi2006]color 有色图 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 136  Solved: 50[Submit][Status] Description Input 输入三个整数N,M,P 1< = N <= 53 1< = M < = 1000 N< P < = 10^ 9 Output 即总数模P后的余数 Sample Input input 1 3 2 97 Sample Output…
传送门 题意: 染色图是无向完全图,且每条边可被染成k种颜色中的一种.两个染色图是同构的,当且仅当可以改变一个图的顶点的编号,使得两个染色图完全相同.问N个顶点,k种颜色,本质不同的染色图个数(模质数N≤53,P<109). 想了一节课和一中午又看了课件 相同类型的循环合并的想法很巧妙 首先,点的置换对应唯一边的置换,我们可以枚举所有点的置换,找出每个置换下边置换的循环有多少个,然后套$Polya$公式 但是复杂度带叹号 我们发现,很多点置换类型是一样的,我们可以对$n$搜索划分来枚举点置换的类…
1478: Sgu282 Isomorphism Description 给 定一个N 个结点的无向完全图( 任意两个结点之间有一条边), 现在你可以用 M 种颜色对这个图的每条边进行染色,每条边必须染一种颜色. 若两个已染色的图,其中一个图可以通过结点重新编号而与另一个图完全相同, 就称这两个染色方案相同. 现在问你有多少种本质不同的染色方法,输出结果 mod P.P 是一个大于N 的质数. Input 仅一行包含三个数,N.M.P. Output 仅一行,为染色方法数 mod P 的结果.…
BZOJ1815: [Shoi2006]color 有色图 Description Input 输入三个整数N,M,P 1< = N <= 53 1< = M < = 1000 N< P < = 10^ 9 Output 即总数模P后的余数 Sample Input input 1 3 2 97 Sample Output output 1 4 题解Here! 经典Polya计数. 不想再写一遍了,正解戳这里.…
题意 用 \(m\) 种颜色,给 \(n\) 个点的无向完全图的 \(\frac{n(n-1)}{2}\) 条边染色,两种方案相同当且仅当一种方案交换一些点的编号后可以变成另一种方案.问有多少本质不同的染色方案. \(n\le 53, m\le 1000, n<mod\le 10^9\) 且 \(mod\) 为质数. 分析 考虑 \(Polya​\) 定理. 假设已经枚举了一个点置换(对应唯一一种边置换),能否快速求出对应边的置换的循环个数? 对于两个点的循环(设长度分别为 \(l_1,l_2\…
置换数量是阶乘级别的,但容易发现本质不同的点的置换数量仅仅是n的整数拆分个数,OEIS(或者写个dp或者暴力)一下会发现不是很大,当n=53时约在3e5左右. 于是暴力枚举点的置换,并且发现根据点的置换我们得到的实际上是边的置换,暴力数一下循环节就好了.3e5*50*50,luogu上过掉了.诶怎么bzoj上开的时限总共只有4s啊? 考虑数边置换的循环节时不那么暴力.显然两端点在同一循环内的边和在不同循环内的边是不可能处于同一边的循环的,并且第一种情况只与该循环长度有关,第二种情况只与两循环长度…
由于有很多本质相同的重复置换,我们先枚举各种长度的点循环分别有多少个,这个暴搜的复杂度不大,n=53时也只有3e5左右.对于每种搜索方案可以轻易求出它所代表的置换具体有多少个. 但我们搜索的是点置换组成的循环,要求的是边置换组成的循环.现在问题就是对于每种搜索方案,求出有多少个边循环. 首先,如果一条边的两个端点属于同一点循环,另一条边的端点属于两个不同点循环,那么显然这两条边不可能属于同一边循环. 对于一个长度为L的点循环,观察发现所有两个端点都属于这个点循环的边构成了L/2个边循环. 对于两…
分析 三倍经验题,本文以[BZOJ1478][SGU282]Isomorphism为例展开叙述,主体思路与另外两题大(wan)致(quan)相(yi)同(zhi). 这可能是博主目前写过最长也是最认真的题解了. 题目中规定"若两个已染色的图,其中一个图可以通过结点重新编号而与另一个图完全相同, 就称这两个染色方案相同",说明这个置换群是定义在点上的,而染色方案是定义在边上的.把边的染色方案转化为点的染色方案不太现实,所以说我们可以考虑如何将点的置换转化为边的置换. 一个显然的结论是点的…