群論


學習筆記

P4980 【模板】Pólya 定理
Polya 定理模板,但是 莫比烏斯反演 也能直接做。

P2561 [AHOI2002]黑白瓷磚
很板的 Polya 定理。只要把旋轉分類討論以下即可。

LOJ 6185. 烷基計數
考慮 \(dp\), \(f_i\) 表示 \(i\) 個結點的烷基個數。
枚舉根結點下接結點的方案(\(123\), \(132\), \(213\), \(231\), \(312\), \(321\))。
可以得到 \(f_n = \frac{1}{6}(2\sum\limits_{3i + 1 = n} f_i + 3\sum\limits_{2i + j + 1 = n} f_i f_j + \sum\limits_{i + j + k + 1 = n} f_i f_j f_k)\)

LOJ 6269. 烷基計數 加強版
把上面那個東西交換以下求和順序即可。

LOJ 6538. 烷基計數 加強版 加強版
看到模數不同了,列生成函數式子:\(F(x) = \frac{1}{6}(2F(x^3) +3 F(x)F(x^2) + F^3(x)) + 1\)
\(\frac{x}{6}(2F(x^3) + 3 F(x)F(x^2) + F^3(x)) + 1 - F(x) = 0\)。倍增時 \(F(x^2)\)\(F(x^3)\) 已經求出。牛頓迭代即可。

SP419 TRANSP - Transposing is Fun
首先可以轉化成這是一個置換,然后求其中的循環個數。
然后考慮一個位置變換后的編號,就是把他二進制的后 \(m\) 位提到前面。
現在求有多少本質不同的數。然后這個直接 \(Polya\) 就行了。

SP422 TRANSP2 - Transposing is Even More Fun
小優化,加快分解因子。

P4128 [SHOI2006]有色圖, P4727 [HNOI2009]圖的同構計數
感覺很巧妙。可以枚舉這個對應關系拆分成的循環大小,這個的本質不同種類數其實相當於 \(n\) 的划分數。這個可以 \(dfs\) 來找。
然后就隨便算一下貢獻和種類數即可。

P6597 烯烴計數
可以考慮枚舉那條碳雙鍵的邊兩邊的東西(是烷基),然后卷起來。
但是這樣會算重(烯烴兩邊的東西交換重復算),這樣子還是用 burnside 引理來解決就好了。

P6598 烷烴計數
設答案數組為 \(g\),假設是有根樹,根為重心,首先做一遍烷基計數。設為 \(f\)
可以先把 \(f\) 中大於 \(\lfloor\frac{n}{2}\rfloor\) 的東西都去掉。
\(g_n = \frac{1}{24}( (6 \sum\limits_{i \times 4 + 1 = n} f_i) + (3\sum\limits_{2 \times (i + j) + 1 = n} f_i f_j) + (8\sum\limits_{3i + j + 1 = n} f_i f_j) + (6 \sum\limits_{i + j + 2 \times k + 1 = n} f_i f_j f_k) + (\sum\limits_{i + j + k + d + 1 = n} f_i f_j f_k f_d))\)
生成函數:\(G(x) = \frac{x}{24} ( 6F(x^4) + 3F(x^2)^2 + 8F(x^3) F(x) + 6 F(x^2)F(x)^2 + F(x)^4)\),這樣可拿到 \(40\) 分。
沒考慮到的雙重心的情況其實是兩個大小相同的不同烷基拼接在一起,減去這些多余貢獻即可。

P5818 [JSOI2011]同分異構體計數
這題只要把烷基的計數給弄出來,然后把根的度數 \(\le 2\) 的弄出來。再做個 \(dp\)\(dp_{i, j}\) 表示 \(i\) 個環上結點 \(j\) 個根結點的方案數。
對於旋轉的本質相同的, \(Polya\) 解決;對於翻轉的,可以發現循環節 \(\le 2\), 把循環節為 \(1\) 的個數抽出來再做即可。

P4916 [MtOI2018]魔力環
可以先判調 \(n = m\)。首先用 Burnside 引理可以轉化成 : 對於 \(\gcd(n, m)\) 的所有因子 \(x\),計算環長度為 \(\frac{n}{x}\),有 \(\frac{m}{x}\) 個黑色魔力珠,不能有 \(k\) 個連續黑色魔力珠,且環不能旋轉的答案(下文就解決這個問題, \(n\) 代替 \(\frac{n}{x}\)\(m\) 代替 \(\frac{m}{x}\)
可以轉化為再 \(n - m\) 的白珠子中塞入 \(m\) 個黑珠子的答案。這個可以用生成函數來求解,答案就是 \([x^m] (\sum\limits_{i = 0}^{k} x^i)^{n - m - 1} ((\sum\limits_{i = 0}^{k} x^i)^2 \bmod x^{k})\)
然后根據一些 推導 就可以快速求這玩意了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM