[HNOI2009]图的同构记数】的更多相关文章

题意 在所以置换下,本质不同的\(n\)阶图个数 做法 可以假想成\(K_n\),边有黑白两色,黑边存在于原图,白边存在于补图 由于\(n\le 60\),可以手算出拆分数不大,所以我们爆搜置换群 对于一个拆分方案(置换的分解序列)\((a_1,a_2,...,a_k)(a_1\le a_2\le ...\le a_k)\) 考虑某个因子内的黑边\((m=|a_i|)\),如果\((1,2)\)为黑边,则\((2,3),(3,4),...,(m,1)\)均为黑边 依次可推得有\(\left\lf…
传送门 如果我们把选出子图看成选出边,进而看成对边黑白染色,那么就是上一题的弱化版了,直接复制过来然后令\(m=2\)即可 不过直接交上去会T,于是加了几发大力优化 不知为何华丽的被小号抢了rank2 //minamoto #include<bits/stdc++.h> #define fp(i,a,b) for(register int i=a,I=b+1;i<I;++i) #define fd(i,a,b) for(register int i=a,I=b-1;i>I;--i)…
Description 求两两互不同构的含n个点的简单图有多少种. 简单图是关联一对顶点的无向边不多于一条的不含自环的图. a图与b图被认为是同构的是指a图的顶点经过一定的重新标号以后,a图的顶点集和边集能完全与b图一一对应. Input 输入一行一个整数N,表示图的顶点数,0<=N<=60 Output 输出一行一个整数表示含N个点的图在同构意义下互不同构的图的数目,答案对997取模. \(\\\) 根据Burnside引理,答案就是所有置换下不动元的平均数(人话).一个置换可以理解为一种排…
[BZOJ1488][HNOI2009]图的同构(Burside引理,Polya定理) 题面 BZOJ 洛谷 题解 求本质不同的方案数,很明显就是群论这套理论了. 置换一共有\(n!\)个,考虑如何对于任意一个置换求不动点数量. 首先边存在或者不存在太麻烦了,我们假装所有边都已经存在,出现过的边和不存在的边用两种不同的颜色染色即可.这样子我们就假装所有的边都出现了,也就是一个完全图. 显然循环是对于点而论的,但是这题同构是对于边而论的.那么我们对于一个点的循环,考虑它的两个顶点.这两个顶点只有两…
题目传送门 bzoj1488 - [HNOI2009]图的同构 bzoj1815 - [Shoi2006]color 有色图(双倍经验) 题解 暴力 由于在做题之前已经被告知是 Burnside 引理,貌似思考的时候少了一些乐趣啊. 考虑一个置换 \(p\),想要求出这个置换下的不动点的个数.对于一个不动点,若存在一条边 \((a, b)\),一定存在一条边 \((p_a, p_b)\). 那么考虑一个长度为 \(l\) 的循环,若 \((i, j)\) 是一条 \(i, j\) 均在循环中的点…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1488 1488: [HNOI2009]图的同构 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 591  Solved: 388[Submit][Status][Discuss] Description 求两两互不同构的含n个点的简单图有多少种. 简单图是关联一对顶点的无向边不多于一条的不含自环的图. a图与b图被认为是同构的是指a图的顶点经…
为什么要写这样滴一篇博客捏...因为一个新初一问了一道水题,结果就莫名其妙引起了战斗. 然后突然发现之前理解的桶排序并不是真正的桶排序,所以写一篇来区别下这三个十分相似的排序辣. 老年菜兔的觉醒!!! 记数排序 记数排序是一种很快的排序算法,但是要很多的空间. 具体的操作: 比如说给一个这样的数列:    6 9 3 2 3 5 我萌需要一个数组   a[i] 表示 数列中 数值为 i 的有多少个 这样 就可以 O(n) 处理出这个数组 read(x); a[x]++; 比如辣个栗子的a数组是这…
1 标准输出 python3利用 print() 来实现标准输出 def print(self, *args, sep=' ', end='\n', file=None): # known special case of print """ print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by d…
记数问题 (count.cpp/c/pas) [问题描述]  试计算在区间1到n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如,在1到11中,即在1.2.3.4.5.6.7.8.9.10.11中,数字1出现了4次. [输入] 输入文件名为count.in. 输入共1行,包含2个整数n.x,之间用一个空格隔开. [输出] 输出文件名为count.out. 输出共1行,包含一个整数,表示x出现的次数. [输入输出样例] [数据说明] 对于100%的数据,1≤n≤1,000,000,0≤x≤9…
Description 求两两互不同构的含n个点的简单图有多少种. 简单图是关联一对顶点的无向边不多于一条的不含自环的图. a图与b图被认为是同构的是指a图的顶点经过一定的重新标号以后,a图的顶点集和边集能完全与b图一一对应. Solution 转化模型:给边 \(0/1\) 染色,如果为 \(1\) 则代表选择,求方案数 考虑一下这个题的置换实际上是边置换,而把边置换用到的节点集合拿出来,发现这些点集合也可以是点置换 于是我们想到用把边置换按照点置换归类 于是复杂度就从边数降到点数了,枚举点置…