この問題を解決しようとしていますが、すぐに解決できません。
要するに、グラフ (有向) があり、どのノード (選択するノードのセットが与えられている) から最も多くのノードにアクセスできるかを調べたいと考えています。簡単な実装は、すべてのノードから DFS/BFS を実行し、アクセスできる数を確認することです。しかし、グラフに5000を超えるノードがあるため、遅すぎます。5000 BFS/DFS の実行には非常に長い時間がかかります。
一方で、この問題は Disjoint Set データ構造と関係があるのではないかと感じていますか? しかし、前述のルールのいくつかを分離したセットの実装のように、そのように定式化することはできません。
誰かがこの問題にアプローチする方法についてヒントを与えることができますか?