zoukankan      html  css  js  c++  java
  • burnside&polya

    $ans=frac{1}{|G|}sum_{g in G}fix(g)$

    大致理解:本质不同的情况数*置换数=每种置换情况下不变的情况数之和

    hdu6360 Kaleidoscope

    考虑60面体是正12面体每个面由凹入的五个面代替形成的,其所有的旋转置换与正12面体类似。

    分类讨论:

    1.对于穿过两个面中心的12/2=6条对称轴,可以旋转k⋅π/5,k=1,2,3,4,此时每五个菱形颜色需要一样,共24个置换

    2.对于穿过两个尖点的12*5/3/2=10条对称轴,可以旋转k⋅π/3,k=1,2,此时每三个菱形颜色需要一样,共20个置换

    3.对于穿过两条边中点的12*5/2/2=15条对称轴,只能旋转π/2,此时每两个菱形颜色需要一样,共15个置换

    4.不动,此时每个菱形颜色独立,共1个置换

    由burnside引理,染色方案数即为$frac{1}{60}*(f(1)+15⋅f(2)+20⋅f(3)+24⋅f(5))$。

    其中f(i)表示在第j种颜色数量不小于$lceilfrac{c_j}{i} ceil$前提下给$frac{60}{i}$个块染色的方案数,可以dp背包。

    为了最后/60,在运算过程中的模数为60m,由于模数超过int,需要快速乘法。

  • 相关阅读:
    边框
    文本样式
    框架
    表格
    列表
    标签
    常用类--包装类
    常见类 --Object
    日志
    异常
  • 原文地址:https://www.cnblogs.com/alonefight/p/10995386.html
Copyright © 2011-2022 走看看