2024-2025-1 20241320 《計算機基礎與程式設計》第6周學習總結
作業資訊
|這個作業屬於哪個課程
https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
|這個作業要求在哪裡|
https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06
|這個作業的目標|
Polya如何解決問題
簡單型別與組合型別
複合資料結構
查詢與排序演算法
演算法複雜度
遞迴
程式碼安全
|作業正文|
https://www.cnblogs.com/yixin20060813/p/18523226
教材學習內容總結
一、Polya定理的基本概念
Polya定理主要用於解決一類著色問題,即對於任意的帶變換的著色計數問題,都可以把變換用置換群表示出來,或者說是同構計數問題。設染色方案數是n,置換群個數是p,置換群長度是s,那麼利用Burnside引理,透過考察每個染色方案和每個置換群,可以在O(nsp)時間複雜度計算出答案。
二、Polya定理的應用步驟
確定置換群G:
置換群G是由所有可能的變換(或置換)組成的集合,這些變換在某種意義下是等價的。
在實際問題中,需要根據題目的具體條件來確定置換群G。
計算每個置換的迴圈節個數:
對於置換群G中的每個置換f,需要計算其迴圈節個數(也稱為軌道數),即f將集合中的元素分成多少個不相交的迴圈。
迴圈節個數的計算通常依賴於具體的置換方式和集合的結構。
應用Polya定理計算不同著色方案數:
根據Polya定理,不同著色方案數可以透過計算所有置換的迴圈節個數的冪的和(再除以置換群G的階數)來得到。
具體公式為:1/|G|*(cf1+cf2+...+c^|G|),其中c是顏色數,f1, f2, ..., |G|是置換群G中各個置換的迴圈節個數。
-
計劃學習時間:1小時
-
實際學習時間:1小時
-
改進情況:
多看看《first c》