Деревья и остовные деревья
Ошибка.
Попробуйте повторить позже
В школе запустили кружков. За один вопрос можно про любые два кружка узнать, какие ученики ходят в оба эти кружка, а какие
ходят ровно в один из них (без указания в какой именно). За какое наименьшее количество вопросов можно узнать списки посещающих
каждый кружок?
Подсказка 1
Число 20 выглядит произвольным. Скорее всего, задача имеет будет общее решение для произвольного количества кружков. Сколько вопросов необходимо задать, чтобы узнать списки 2, 3 кружков?
Подсказка 2
Необходимо 2 и 3 вопроса соответственно. Отсюда может появиться предположение, что ответом на задачу является количество кружков, то есть 20. Почему этого количества вопросов будет достаточно?
Подсказка 3
Поскольку мы уже уже выдвинули предположение о том, что условие задачи верно для любого количества кружков, поэтому алгоритм нахождения списков несложно строить индуктивно. Как показать, что меньшего количества вопросов не хватит в общем случае?
Подсказка 4
Потребуем, чтобы весь список каждого кружка был уникален. Например, этого можно добиться, если количество учеников будет равно 2^20, причем каждый будет посещать уникальное множество кружков. Как удобно изображать множество вопросов, заданных в алгоритме?
Подсказка 4
Каждый из вопросов связывает пару из вопросов, поэтому является отношением на данном множестве. Отношение удобно отображать на графах. Пусть в графе каждому кружку в соответствие поставлена вершина, парой соединены те вершины, которые соответствуют кружкам для которых существует вопрос, в котором они учувствовали. Какой вид имеет данный граф?
Подсказка 5
В нем существует компонента, которая является суть путем. Что теперь нужно для того, чтобы закончить доказательство?
Подсказка 6
Можно доказать, что найдутся множества кружков A и B, для которых найдется школьник, который ходит только в кружки множества A, и школьник, который ходит только в кружки множества B, по ответам неотличимы. Найдите соответствующие множества среди кружков, соответствующих вершинам найденного пути.
Пример. Спросим про пары
и
а затем про все пары вида
где
Докажем, что за первые три
вопроса мы выясним составы кружков
и
Посмотрим на любого человека. Если он не ходит ни в один из этих кружков, то его имя
не будет названо ни разу, и это ни с чем не перепутаешь. Если он входит только в один кружок, то его имя всплывёт в двух вопросах, как
посещающего один кружок. При этом по этим двум парам мы восстановим, в какой кружок он ходит. Если он ходит в два кружка, то
однажды он появится, как посещающий два кружка, и дважды — как посещающий один из двух. В этой ситуации легко
вычисляется, куда он ходит. Если он ходит во все, то во всех парах покажется, как посещающий оба, и тоже получится
вычислить, что он во все ходит. То есть про любого человека мы поймём, куда он ходит, а это и значит, что вычислим
составы всех кружков. Теперь, зная, кто ходит в первый кружок, после вопроса
легко вычисляем, кто ходит в кружок
Оценка. Будем считать, что в школе учеников. Каждому ученику сопоставим уникальное подмножество кружков и
направим его ровно в кружки из его подмножества. Предположим, что после
вопросов удалось выяснить составы
всех кружков. Это значит, что мы научились различать всех учеников. Рассмотрим граф, вершины которого — кружки.
Соединим вершины ребром, если мы спросили про эту пару кружков. В графе
вершин и
рёбер, значит, хотя бы в
одной компоненте связности рёбер меньше, чем вершин, то есть эта компонента связности — дерево. А вершины дерева
можно правильным образом покрасить в два цвета. Обозначим множества вершин первого и второго цвета
и
Тогда
школьник, который ходит только в кружки множества
и школьник, который ходит только в кружки множества
по ответам не отличимы. Во всех вопросах про эту компоненту связности оба назывались как ходящие в один из двух
кружков.
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!