Приветствую всех. Хотел бы узнать, как решить одну задачу (уже не помню откуда). Дан неориентированный 0-1 граф с n вершинами и m ребрами и число k. Необходимо найти остовное дерево с суммарным весом ровно k (или сообщить, что такого не существует). Ограничения: 1 <= n, k <= 10^5, 1 <= m <= 2 * 10^5. Время 2 сек, память 256 Мб. У кого какие идеи?
Ответ существует если
вес_мин_остова <= k <= вес_макс_остова
. Алгоритм следующий: находим мин остов; оставляем лишь ребра веса 1 из него; добавляем произвольные ребра веса 1, которые не образуют циклов, пока их общее количество не станет k; добавляем оставшиеся ребра веса 0.Помню была такая задача в отборочных в летнюю школу Иннополиса
Да, скорее всего оттуда.