簡體   English   中英

圖算法思想

[英]Graph Algorithm Idea

嗨,任何人都可以暗示這個問題的底層圖形問題是什么?

https://icpcarchive.ecs.baylor.edu/external/64/6450.pdf

我個人認為這樣:

通過減少邊數來對圖表的節點數進行排序。 然后選擇最頂層的一個。 之后忽略此頂部連接的所有節點。 然后選擇下一個。

對於第一個測試用例

答案是1,因為圖表已完全連接,選擇任何節點將確保覆蓋所有其他節點。

對於第二個測試案例

我們可以選擇節點5(這將覆蓋node1,2和4)。然后我們可以選擇節點3.這樣就可以覆蓋所有節點。

問題是這種方法在我看來只是一個。 這不是任何圖算法。

如果有人能給出一個提示,那就太好了。 謝謝。

VVV

這是支配集問題,它是NP難的,所以除非P = NP,否則沒有多項式解。

注意n <20 ,幸運的是我們仍然可以足夠快地解決它。 對於每一個用戶0≤I <N,讓我們表示由位掩碼B(1)n位其附近具有所有比特組經由長度≤1的路徑表示的用戶可到達的從i。 我們可以在O(n²)中預先計算b(i

讓我們將f(i,m)定義為達到由位掩碼m表示的所有用戶所需的最小用戶數,僅發布在索引≤i的用戶的牆上。 我們可以使用以下算法計算f

f(i,m) = ∞  for all i, m
f(0, 0) = 0
f(0, b(0)) = 1
for i = 1 to n - 1:
    for m = 0 to 2^n - 1:
        f(i, m) = min(f(i, m), f(i - 1, m))
        f(i, m | b(i)) = min(f(i, m | b(i)), f(i - 1, m) + 1)    

答案是f(n - 1,2 ^ n - 1) 運行時間: O(n * 2 ^ n)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM