Дано это даг. Вы хотите пометить каждый узел тем, сколько узлов доступно из него. - тривиальная верхняя граница; является нижней границей (я думаю). Есть ли лучший алгоритм? Есть ли основания полагать, что нижняя граница может быть улучшена (связана: что именно известно о нижних границах для транзитивного замыкания)?Ω ( V + E )
Мотивация: я должен был сделать это пару раз, представляя следующие формулы как даг.
Изменить: Обратите внимание, что просто делая подсчитывает пути , а не достижимые узлы . (Я добавил это, потому что, по-видимому, многие думали, что это простое решение будет работать с помощью голосов, которые я видел в удаленном ответе.) Фактически, эта проблема возникает именно тогда, когда вы хотите сделать что-то интересное с «общими» частями, узлами, доступными для более одного пути. Кроме того, я говорю, дага, потому что, если они решаются, то решение орграфов легко.