我奮力解決以下問題中的圖形問題
http://uva.onlinejudge.org/external/1/193.html
但是我不是能得到一個快速的解決方案。
被別人的時候所看到,應該有最大的N^2的複雜性的解決方案
我能得到一些幫助?
我奮力解決以下問題中的圖形問題
http://uva.onlinejudge.org/external/1/193.html
但是我不是能得到一個快速的解決方案。
被別人的時候所看到,應該有最大的N^2的複雜性的解決方案
我能得到一些幫助?
它正在解決稱爲最大團的問題,也稱爲最大獨立集或最大穩定集。這是NP-Complete。我知道的最小的代碼是Cliquer:http://users.tkk.fi/pat/cliquer.html
如果你正在爲教育目的而自己編寫自己的代碼,那麼一次深度優先搜索染色節點黑色並退回DFS(如果兩個黑色節點觸摸。
最簡單的代碼解決方案是實現一個二進制計數器並嘗試所有2^n個可能性。
全部2^n個可能性? - 2^100會很難受到傷害:) – 2010-06-11 07:35:26
dfs的複雜程度如何? – copperhead 2010-06-11 07:35:30
@copperhead - 它在理論上也是'O(2^n)',但它在實踐中的運行速度會快得多,因爲您可以快速消除大量無效的解決方案。如果你這樣做,你一定會得到AC。 – IVlad 2010-06-11 08:21:19
我已經解決了在Facebook上的難題類似的問題,我用在B-K算法中了點。
僞代碼中的'\'是什麼意思?(P \ N(u)) – copperhead 2010-06-11 07:58:22
這意味着集合P沒有N(u) – 2010-06-11 08:00:56
我找到了一個示例代碼(ruby):http://kanwei.com/代碼/ 2009/03/26/facebook-peaktraffic.html – zengr 2010-06-11 08:02:40
你有多遠?你寫了什麼樣的代碼? – Sev 2010-06-11 06:07:35
這個問題是NP完成的,我認爲所有這些都通過了優化的bruteforces或錯誤的貪婪。 – 2010-06-11 06:10:37
@Sev 我在所有的頂點組合上做了蠻力,並且在每一步中找到了一個大小爲x的團。然後我刪除了不屬於這個的所有頂點。然後我對剩下的頂點用x + 1的團體做了蠻力。這一直持續到沒有大小爲x的團體。顯然這太慢了。 – copperhead 2010-06-11 06:41:24