IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    BZOJ1488: [HNOI2009]图的同构 群论+Polya定理+组合数学

    wyfcyx发表于 2015-09-04 20:18:35
    love 0

    题解:

    现在终于还算是明白了。

    首先将边的存在性定义为两种颜色,这样就变成了一个Polya的经典问题。

    但是如何考虑边的置换群呢?

    我们首先考虑点的置换群。

    点的置换显然有$O(n!)$种,但我们可以按照每个循环的大小进行分组,最终发现组数还是能够接受的。

    考虑一个组的点置换,我们最终将方案数乘以这个组内有多少置换就行了。这一步可以用简单的组合数学知识来解决。

    现在考虑如何将点置换转化为边置换,即将所有边划分为若干组可以轮换的边。

    考虑那种两个端点在同一个点循环的边,则如果点循环的大小为$n$,我们可以分为差值分别为$1,2,...,\lfloor\frac{n}{2}\rfloor$的若干组。

    考虑那种两个端点在不同的点循环的边,如果两个点循环的大小分别为$n,m$,脑补一下可以发现会出现$gcd(n,m)$组边。

    这样的话,问题大概就得到了解决了。

    代码:



沪ICP备19023445号-2号
友情链接