[HNOI2009]图的同构记数
2024-08-31 11:14:17
题意
在所以置换下,本质不同的\(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\lfloor\frac{m}{2}\right\rfloor\)个等价类(并不是\(m-1\)个,可以手玩一下) - 考虑两个因子件的黑边\((m_1=|a_i|,m_2=|a_j|,i\neq j)\),有\((m_1,m_2)\)个等价类
当然,对于一个拆分方案\((a_1,a_2,...,a_k)\)(以下\(num_i\)为\(i\)在其中出现的次数)
于置换显然不是双射关系,还得对应到若干个置换中去,统计置换个数(这部分网上有些题解有问题):
\[\frac{n!}{\prod\limits_{i=1}^k (a_i!)}\times \prod\limits_{i=1}^k ((a_i-1)!)\times\prod\limits_{i=1}^n \frac{1}{num_i!}=\frac{n!}{\prod\limits_{i=1}^k (a_i)\prod\limits_{i=1}^n (num_i!)}\]
最新文章
- 带条件Count
- DS1337 时钟芯片在 C8051F 上的实现
- HTTP与HttpServlet
- Android 禁止进入activity自动弹出键盘
- js 组件的写法
- leetcode 37. Sudoku Solver 36. Valid Sudoku 数独问题
- Leetcode_125_Valid Palindrome
- SharePoint 2013 图文开发系列之入门教程
- mssql sqlserver两条求和sql脚本相加的方法分享
- 【ANT】输入中文格式为乱码
- js将数组根据条件分组
- Shell----简单整理
- spark 实现TOP N
- PAT甲题题解-1030. Travel Plan (30)-最短路+输出路径
- Unity3D 笔记二 3D模型基础
- DynamicJasper入门
- 解决xshell4中文乱码
- Angular内提供了一个可以快速建立测试用web服务的方法:内存 (in-memory) 服务器
- PatchGuard Disabled V3
- Android Architecture Components