Мы знаем, что существует «Союз и найди» для несвязных множеств.
http://en.wikipedia.org/wiki/Union_find
а как сделать обратную операцию? Рассмотрим множество с N узлами, связанными с E ребрами (на самом деле это граф).
И на каждом шаге мы хотим удалить некоторое ребро и проверить, приводит ли эта операция удаления к другому непересекающемуся набору. Можно ли сделать это быстро, как в «Союз и найти»?
П.С. это не домашняя работа, у нас праздник:)