Как бы я оптимально решал проблему теории графов, когда вес края меняется на любой другой или даже третий прыжок? Могу ли я использовать какой-то модифицированный алгоритм Дейкстры?Кратчайший путь с краевым весом удваивается на каждом другом хопе
0
A
ответ
1
Вы можете построить новый график, который кодирует изменяющиеся затраты (хотя, практически говоря, лучше не строить новый график явно).
Учитывая график как
1
A --> B
| /|
2 | /5 | 4
v < v
C <-- D
3
каждая вершина порождает две вершины, а каждая дуга приводит к двум дугам. Дуги идут от оригинала до копии с оригинальным весом и от копии до оригинала при двойном весе.
1 5 3
A ---> B' B ---> C' D ---> C'
2 10 6
A' ---> B B' ---> C D' ---> C
2 4
A ---> C' B ---> D'
4 8
A' ---> C B' ---> D
Теперь поиск из источника или его копии в зависимости от того, в два раза первый хмель, ищет самый дешевый путь к месту назначения или его копии.
Смежные вопросы
- 1. OrientDB кратчайший путь с динамическим весом?
- 2. Найти кратчайший путь в графе с динамическим весом
- 3. Кратчайший путь на карте
- 4. Как найти кратчайший цветной путь?
- 5. Найти кратчайший путь с максимальным коэффициентом усиления
- 6. Кратчайший путь с ограничениями на пересекающиеся края
- 7. Кратчайший путь с цифрами на борту
- 8. Cypher: Кратчайший путь с Ограничением
- 9. Кратчайший путь с одним источником с расстоянием и весом для каждого края
- 10. Кратчайший путь C#
- 11. Graph кратчайший путь спутанность
- 12. граф - Кратчайший путь с Vertex Вес
- 13. кратчайший путь через лабиринт
- 14. Найти кратчайший путь с OrientDB
- 15. Кратчайший путь с помощью PHP
- 16. Кратчайший путь по графику с изменяющимися весами
- 17. Найти кратчайший путь с помощью алгоритма Флойда
- 18. Java кратчайший путь
- 19. Python Кратчайший путь
- 20. кратчайший путь tsp алгоритм
- 21. Найти кратчайший путь
- 22. Попытка найти кратчайший путь
- 23. кратчайший путь в хэш-карте
- 24. Найти кратчайший путь в лабиринте
- 25. DAG кратчайший путь
- 26. Найти кратчайший путь для направленного графика
- 27. Кратчайший путь в JavaScript
- 28. Кратчайший путь - INOI 2014
- 29. Найти кратчайший путь
- 30. JGraphT график кратчайший путь
Будет ли это работать только для каждого другого веса кромки в два раза? Или он может быть изменен и применен для каждого n-го прыжка в два раза? Например, каждый третий прыжок, или четвертый прыжок? Вы могли бы это сделать, добавив еще один график сверху? Я думаю, что это имеет смысл. Спасибо огромное! – Sauhaarda
@Sauhaarda Общая идея заключается в том, что с учетом графика (V, A), где каждый k-й прыжок должен быть удвоен, постройте новый граф с вершинами V x {0, ..., k-1} и дугами {(v, j) -> (w, (j + 1) mod k) | v -> w в A и j в {0, ..., k-1}}, где вес (v, j) -> (w, (j + 1) mod k) равен 2x веса (v, w) если j = <все, что вам нужно> else 1x. –
I + 1ed ваш пост, но поскольку у меня очень мало репутации, эффекта не было. – Sauhaarda