Я хотел решить эту проблему: НОД на ориентированном графе.
Я новичок в SCC, топологическом упорядочении, алгоритме Косаджару и т. д.
В целом я считаю, что чем больше узлов мы используем в пути, тем лучший результат может быть, потому что стоимость (НОД) никогда не будет расти. Вот мой подход к этой проблеме:
Найдите все сильно связанные компоненты (поэтому я использую как можно больше узлов) и НОД (стоимость прохождения всего компонента). )
Мы можем сопоставить найденные SCC с узлами и создать DAG, где один узел представляет весь SCC.
Так мы свел проблему к поиску кратчайшего пути (от любого узла к любому) во взвешенном DGA. Но я понятия не имею, как мне подойти к этому с приемлемой временной сложностью. Вот как выглядит мой текущий код:
Я хотел решить эту проблему: НОД на ориентированном графе. Я новичок в SCC, топологическом упорядочении, алгоритме Косаджару и т. д. В целом я считаю, что чем больше узлов мы используем в пути, тем лучший результат может быть, потому что стоимость (НОД) никогда не будет расти. Вот мой подход к этой проблеме: [list] [*]Найдите все сильно связанные компоненты (поэтому я использую как можно больше узлов) и НОД (стоимость прохождения всего компонента). ) [*]Мы можем сопоставить найденные SCC с узлами и создать DAG, где один узел представляет весь SCC. [/list] Так мы свел проблему к поиску кратчайшего пути (от любого узла к любому) во взвешенном DGA. Но я понятия не имею, как мне подойти к этому с приемлемой временной сложностью. Вот как выглядит мой текущий код: [code]#include #include #include #include