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种颜色数量不小于$\lceil\frac{c_j}{i}\rceil$前提下给$\frac{60}{i}$个块染色的方案数,可以dp背包。
为了最后/60,在运算过程中的模数为60m,由于模数超过int,需要快速乘法。