[英]Permutation in graphs
一行中有N個學生。 我們想拍最好的照片。 當滿足最大學生人數時,照片被認為是最好的。 如果學生是他最好的朋友的正確鄰居,他會感到滿意。 每個學生只有一個最好的朋友。 您必須找到最佳照片中滿意的學生數量以及不同最佳照片中的數量。
做法:
。
具有至少一個進入邊緣的節點可以恰好滿足一個節點。 因此,很容易計算出滿足的節點數。 讓我們制作數組B,其中B [i]是i的輸入邊數。 那么滿足最大節點數的不同方法是B_s的乘積。 但是有些“ BAD”變體可以滿足所有循環節點的要求。 但是我們可以輕松減去“ BAD”變體。 在循環節點的“ BAD”變體中,我們確切地知道它們滿足誰。 因此,不同的變體將是:
B [K1] * B [K2] .... B [Kn]-B [P1] * B [P2] .... B [Pm]
其中K是組件中的節點數組(具有至少1個輸入邊),P是不在該組件周期中的節點數組(具有至少1個輸入邊)。
我不明白不良變體的概念,為什么我們要減去它們。
請解釋一下,我能為您提供一些有用的鏈接來解決此類問題
我寧願寫另一篇社論,也不願嘗試弄清楚那是怎么回事。
准備一個“最好的朋友”有向圖,其中每個頂點都是一個學生,每個學生都有一條通往他的最好的朋友的弧線。 提取該圖的弱連接組件。 在每個組成部分中,我們只能滿足一名學生的要求,但前提是該組成部分中的學生必須連續站立。 因此,我們可以計算出每個分量的可能性數量,將它們相乘,然后乘以分量數量的排列數量(即,階乘的分量數量)。
對於給定的組件,有兩種可能性。 第一種可能性是,一個頂點完全沒有進入弧,一個頂點恰好有兩個,而其余頂點只有一個。 以前的學生必須在最右邊,所以有一個有效的安排。 第二種可能性是所有頂點都恰好有一個傳入弧。 在這種情況下,有效排列的數量等於組件中頂點的數量(任意選擇最右邊的學生,然后遍歷循環)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.