Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. ×

Блог пользователя vlfom

Автор vlfom, 12 лет назад, По-русски

Здравствуйте , хотелось бы узнать , существует ли алгоритм, с помощью которого можно было бы вычислить количество остовных деревьев в заданном графе быстрее чем за O(n^3) как это указано тут : http://e-maxx.ru/algo/kirchhoff_theorem ?

Заранее спасибо !

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +17 Проголосовать: не нравится

Если граф полный, то можно быстрее: ответ равен n(n - 2).

Или может Ваш граф чем другим примечателен?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

    Можно даже расширить класс графов :-)

    Пусть G = Kn - {e1, e2..., em}. Тогда, чтобы свести задачу к полному графу, достаточно использовать формулу: Ans(G) = Ans(G + e1) - Ans(G / e1). Где (+) — это добавление ребра в граф, а (/) — стягивание концов ребра в одну вершину.

    Итого O(n + 2m).

»
12 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

Например, можно находить определитель матрицы Кирхгофа быстрее чем за O(n^3).

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -59 Проголосовать: не нравится

    Там ведь очень просто :)

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +9 Проголосовать: не нравится

      Три раза прочитал пост и нигде не увидел чтобы требовалось просто

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится -29 Проголосовать: не нравится

      Минус тридцать один! Раньше, если послать кого-то, то так не минусовали. Офигеть...

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Поведай как, пожалуйста.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Ну есть же модные способы подсчета определителя за O(n^2.376). В википедии даже ссылочка на статью есть, где описан этот способ. Я, правда, сомневаюсь, что в реальных задачах его можно использовать, но вопрос был про сложность "быстрее чем за O(n^3)"...

      А вообще, что-то мне подсказывает, что автор топика хочет решить задачу, где нужно найти количество остовных деревьев в графе, который состоит из циклов и простых путей (с одной идущей сейчас олимпиады). Пусть он меня поправит, если это не так:)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Ясно, я подумал есть что хорошее для матричек нужного нам вида.