Codeforces Round 992 (div.2) F

~Cyan~發表於2024-12-10

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\) 的約數個數。

相關文章