【luogu P4708】画画(dfs)(Burnside引理)(分类讨论)(欧拉回路)

画画

题目链接:luogu P4708

题目大意

问你 n 个点的无标号的每个连通块有欧拉回路的图的个数。

思路

你看到无编号,也就代表着可以通过置换把一些有编号的看做同一个。

那两个点之间的边有存在和不存在两种,所以我们考虑用 Burnside 引理:
a n s = 1 ∣ M ∣ ∑ c ( r ) ans=\dfrac{1}{|M|}\sum c(r) ans=M1c(r)
其中 c ( r ) c(r) c(r) r r r 这个置换中不动点的个数,这道题中 ∣ M ∣ = n ! |M|=n! M=n!

然后你发现这个置换是点的,然而你要统计的 c ( r ) c(r) c(r) 是有关边的。
那你会想到一道叫做有色图的题目

然后我们假设你已经会了做有色图,然后我们考虑用做那道题的思路来搞这道题。

那你还是考虑 dfs 出点置换的循环,设为 ( a 1 , a 2 , . . . ) ( b 1 , b 2 , . . . ) . . . (a_1,a_2,...)(b_1,b_2,...)... (a1,a2,...)(b1,b2,...)...,然后长度分别为 l 1 , l 2 , . . . l_1,l_2,... l1,l2,...
然后记得每个乘上 n ! ∏ l i ∏ c i ! \dfrac{n!}{\prod l_i\prod c_i!} lici!n!,然后 n ! n! n! 和外面的 1 ∣ M ∣ \dfrac{1}{|M|} M1 抵消( ∣ M ∣ = 1 |M|=1 M=1)。

然后你还是分类讨论:

我们搞之前首先要确定一个东西,就是对于一个循环中的边,它们肯定是要么都有这条边,要么都没有。
而且我们再看欧拉回路的性质,就是每个点的度数都是偶数,那我们就要保证你选出来的方案点度数都是偶数。

如果是在同一个循环,那你就像之前一样分奇偶讨论:

  1. 如果是奇数:

那就是 l − 1 2 \dfrac{l-1}{2} 2l1 个循环,然后你会发现这些循环的边要了之后每个点的奇偶度数都不会改变。因为它们都是转一圈,然后两边都会加。

  1. 如果是偶数:
    那就是 ( l
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值