題目傳送門
題目大意:有 n(n
+1)2
\frac 2
2n(n+1
)個六邊形瓷磚,第一層有 1
11 個,第二層有 2
22 個,以此類推組成乙個三角形,給每塊瓷磚染黑色或白色,兩種染色方案相同當且僅當一種方案通過旋轉或翻轉得到另一種方案。
明顯的burnside定理,一共有 6
66 中置換,不動
,轉120度
,轉240度
,以及三種不同方向的翻摺
。
不動:迴圈長度為 111。
旋**迴圈長度為 3
33,但是有可能中間多出 1
11 塊瓷磚,那麼這塊瓷磚怎麼轉都不會變,所以它的迴圈長度為 111。
翻摺:除了位於正中間的點他們迴圈長度為 1
11,其它點迴圈長度為 222。
對於同乙個迴圈內的瓷磚,他們的顏色都相同,要麼黑要麼白,一共兩種情況。
再套乙個高精度模板即可。
**如下:
#include
#include
#define ll long long
int n,m;
struct gjd
void
jinwei()
}void
operator+=
(const gjd b)
gjd operator*(
const
int b)
gjd operator*(
const gjd b)
}two[
410]
,ans;
intmain()
AHOI2002 黑白瓷磚
根據 polya 定理推算 記總磚數為 m frac2 考慮旋轉,不動點數均為為 2 3 翻轉,考慮三個對角線,記對稱軸上磚數為 s frac2 則不動點數均為 2 2 s 還有 2 m 故答案為三種相加除以 6 加上高精度即可 include include include define re r...
P2561 AHOI2002 黑白瓷磚
檔案中以一行的形式存放乙個正整數 n n 20 以一行的形式輸出問題的解 s 解的位數不超過 200 位 1 22 4none 顯然直接上polya 不難發現有6種置換 旋轉0,120,240度,還有三種對稱軸的翻轉 以下均來自 lzxkj 對於旋轉來說,肯定是三個一迴圈,但是會存在下面的情況 所以...
飛彈防禦 AHOI2002
演算法 模擬 分析 用f i,1 表示第i號位置上長度為1的總數,同理f i,2 表示第i號位置上長度為2的總數 那麼通過前面的列舉,f i,k f i,k f j,k 1 最後把長度是三的統計一遍即可。program ddfy const maxn 20000 var a array 0.maxn...