Codeforces Round 992 (div.2) F

burnside 引理版题。

在知道是 burnside 引理后,首先设 \((x,y,z)\) 三元组表示长方体从三个方向的操作数,若要在操作后依旧与原来不变,那容易发现有一些位置的点的颜色是相同的,若将颜色必须相同的点表示成一个颜色块,而每个颜色块大小都是相同的,都是 \(lcm(\frac{a}{gcd(a,x)},\frac{b}{gcd(b,y)},\frac{c}{gcd(c,z)})\)

所以很容易就能得到一个 \(O(abc \times k)\) 的做法。

考虑优化,枚举 \(\frac{a}{gcd(a,x)},\frac{b}{gcd(b,y)},\frac{c}{gcd(c,z)}\),发现每个的贡献就是欧拉函数,然后就变成 \(O(d(a)d(b)d(c) \times k)\)\(d(x)\) 表示 \(x\) 的约数个数。

posted @ 2024-12-10 19:57  ~Cyan~  阅读(4)  评论(0编辑  收藏  举报