0

我的問題的答案可能很明顯,我知道紙上的明顯答案。我的意思是,當涉及到一些示例時,我明白爲什麼我們不允許運行最低公共祖先算法的循環,但是我在理解爲DAG中的LCA解決方案編寫的論文時遇到問題。等的解決方案,它部分阻止我們使用它的循環圖..在循環圖的DAG中應用LCA的解決方案?

什麼,我願意瞭解並會感謝有關通知:

  • 你能解釋的解決方案之一LCA DAG中的問題,沒有太多的表述?
  • 你能確定哪一步有問題嗎?爲什麼?
在我的問題

,對節點的找到自己的LCA並不是一個循環中,所以我覺得有可能是解決辦法..提前

回答

0

的問題

謝謝週期從定義本身開始。

uv的LCA被定義爲一組這樣的節點的zz是從uvz可達不是從任何其他節點可到達的z'使得z'uv可達。

它可能不存在於循環圖中。舉例來說,如果有一個週期1->2->3和其他兩個節點和邊緣:4->35->3,沒有LCA爲45(所有1, 23從他們兩個到達的,但是他們也可達相互) 。

你可以發現可達來自uv所有節點(使用DFS或別的東西),然後檢查有這樣一個節點z可到達的來自兩個人,但沒有從滿足這個任何其他節點條件(它將在多項式時間內工作)。因此,它更多的是有一個有意義的最低公共祖先的定義,而不是關於能夠計算它(如我上面所示,你可以計算類似的東西,但它可能沒有意義,即使對於兩個節點不在同一個週期)。

相關問題