問題タブ [disjoint-union]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - Disjoint Set Union (DSU) では、和集合操作の実行中に、サイズの小さいサブセットをサイズの大きいサブセットの子として作成するのはなぜですか?
最近、ツリーで DSU とそのアプリケーションに出くわしました。関連する問題を解決していたときに、一部で Time Limit Exceeded エラーが発生したので、チュートリアルをもう一度読んだところ、通常の結合の即興バージョンが加重結合であることがわかりました。 . この加重結合操作では、小さいサイズのサブセットのルートを、(2 つのうちの) 大きいサイズのサブセットのルートの子として作成します。それはどのように私たちに利益をもたらしますか? チュートリアルへのリンク
graph - この問題は、bfs またはエッジの保存なしで実行できますか?
n 個のノードとn個のエッジを持つ無向連結グラフが与えられます。2 つのノードaとbが与えられます。a から b へのパスにあるが、サイクルの一部ではないエッジの数を見つけます。(エッジの数がnであるため、確かにサイクルがあります)。これは dsu データ構造によって実行できますか? エッジを削除すると a と b が切断される場合、それを答えとして数えることができます。前もって感謝します。