题解
先考虑没有同构怎么做。
考虑一张左右各 n 个点的完全二分图,现在就是要求环覆盖方案数。
那么答案就是将右侧点划分成若干环的方案数乘上 n! 。
设环和答案分别为 G(x),F(x) 。
有:
G(x)=∑i≥2xi2i=−12ln(1−x)−x2F(x)=eG(x)F′(x)=eG(x)G′(x)F′(x)=F(x)x2(1−x)nfn=(n−1)fn−1+12fn−2(1)(2)(3)(4)(5)(6)
然后利用 Burnside,考虑群 D8 的其余 7 个元素。
-
上下或左右翻转
这是容易的。
-
沿对角线翻转
将 li 和 ri 合并,那么就是每个点度数为 1/2 的图的个数。
那么
G(x)=∑i≥3(i+1)xi2i+x22=−12ln(1−x)+x32(1−x)+x24−x2F′(x)=F(x)−x3+2x2(1−x)2nfn=2(n−1)fn−1−(n−3)fn−2−12fn−4(7)(8)(9)(10)
-
旋转 π
这部分较为复杂,还是一样地考虑,但是要奇偶讨论一下
-
旋转 π4,3π4
容易说明 2∤n 无解,剩下的同理,最后是:
nfn=(2n−1)fn−1−fn−2+2fn−3
这样将所有的贡献算出来就好了,复杂度 O(n) 。
注意到所有的贡献都是整式递推,所以理论最优为 O(√nlogn) 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧