Везде, где не указано — время работы
Задачи идут в порядке вспоминания, то есть в весьма рандомном.
Вам нужно передать 64 байт некоторой информации. Для этого у вас есть 320 специально обученных попугаев, каждый из которых может запомнить число от 0 до 255. Все попугаи рано или поздно долетают до точки назначения и сообщают свой байт, но, возможно, не в том порядке, в котором были выпущены. Попугаи внешне неразличимы.
Даны 68 камней разного веса. Требуется за 100 операций взвешивания определить самый лёгкий и самый тяжелый.
Есть перестановка из 64 элементов. Вы можете спрашивать, какие элементы находятся на заданном множестве позиций (вам сообщается список элементов в произвольном порядке). Восстановите перестановку за 6 запросов.
Требуется отвечать на 2 типа запросов:
- Добавить точку в выпуклую оболочку.
- Проверить, лежит ли точка внутри выпуклой оболочки.
Обе операции онлайн за
Найдите способ посчитать
В турнире участвуют 1024 видов покемонов. Вы, будучи экспертом по покемонам, знаете, кто кого может победить. Иначе говоря, вам полностью известен граф-турнир из 1024 вершин и
У вас есть 10 покеболов. Составьте команду из 10 покемонов такую, что для каждого из 1024 типов покемонов в вашей команде найдется покемон, побеждающий его. Считайте, что в битве одинаковых покемонов побеждает ваш.
Можно ли отсортировать
- 5 камней за 8 взвешиваний?
- 5 камней за 7 взвешиваний?
- 20 камней за 60 взвешиваний?
Даны
Даны две замкнутые несамопересекающиеся ломаные. Определите, можно ли перевести их друг в друга с помощью параллельного переноса, поворотов и гомотетии?
Дан массив из
Дан неориентированный граф. Определите, есть ли в нём простой цикл чётной длины.
Дан массив из
Дан массив из
Дано корневое дерево. Каждую итерацию выбирается вершина (равновероятно из всех оставшихся), и удаляется всё поддерево, соответствующее этой вершине. Найти, сколько ходов в среднем будет продолжаться этот процесс, то есть матожидание номера итерации, на которой будет удалён корень дерева.
Дан массив из
Дан массив из
Зачёт по физкультуре в одном институте ставится по количеству посещений, поэтому важно знать, сколько учебных дней осталось до конца семестра (особенно когда напропускал пары). Семестр длится
- Объявить все дни с
$l$ по$r$ выходными (физру закрывать нельзя) - Объявить все дни с
$l$ по$r$ учебными (физру закрывать можно)
При этом приказ может частично отменить действие предыдущих приказов.
После каждого приказа нужно посчитать суммарное число учебных дней в семестре. Асимптотика
Дано мультимножество из
В задаче дана произвольная строка, по которой известным только авторам способом генерируется ответ yes/no. В задаче 100 тестов. У вас есть 20 попыток. В качестве фидбэка вам доступны вердикты на каждом тесте. Вердикта всего два: OK (ответ совпал) и WA. Попытки поделить на ноль, выделить терабайт памяти и подобное тоже считаются как WA. «Решите» задачу.
В плоскую доску вбили
Компания друзей захотела сделать заготовки для пельменей из огромного прямоугольного куска теста. Для этого в ход пошли всевозможные предметы округлой формы: стаканы, кружки, кострюли… В итоге тесто было разделено
Дан следующий код:
x = 0
while x < 1:
x += random()
Требуется посчитать матожидание x
.
(random
в питоне возвращает случайное действительное число от 0 до 1.)
Дан единичный квадрат и 100 кругов. Нужно посчитать площадь квадрата, которую покрывают эти круги, с ошибкой менее 1%.
Имеется окружность радиуса
- соприкасаться с внешней,
- соприкасаться с предыдущей ((
$k-1$ )-ой), - иметь при этом максимальный радиус.
Найдите (выведите формулу за $O(1)$) радиус
Катя и Серёжа играют в игру. У Кати есть
- Попытаться угадать особую карту. Если получилось угадать, то игрок победил, иначе проиграл. В любом случае, игра на этом заканчивается.
- Назвать любую карту из колоды. Если у соперника есть такая карта — он обязан показать ее и вывести из игры. Если же у него нет такой карты — он сообщает об этом.
С какой вероятностью выиграет Катя при оптимальной игре обоих игроков? Асимптотика
Дан ориентированный граф без кратных рёбер. Для всех пар вершин
Есть
Придумайте любой полиномиальный алгоритм.
В некотором королевстве жила принцесса. Она была настольно прекрасна, что каждый юноша в королевстве хотел жениться на ней. Принцесса была привередлива, поэтому твердо решила выйти замуж только за самого красивого юношу в государстве.
Она составила список из
У принцессы очень хорошая память, поэтому она может сравнивать красоту очередного юноши со всеми предыдущими, а также у неё тонкий вкус, поэтому никакие двое юношей не являются для неё одинаково красивыми.
Помогите принцессе разработать стратегую, которая максимизирует вероятность того, что она выйдет замуж за наиболее красивого юношу.
Асимптотика
Определим спираль
Ваша задача — рассчитать ответы на
Группа из x & y == 0
.
Туристы устали блуждать по лабиринту и хотят встретиться в какой-нибудь свободной клетке, сумма расстояний от всех туристов до которой наименьшая. Туристы за один ход могут передвигаться вверх, вниз, влево и вправо по свободным клеткам.
Есть множество
Дан неориентированный граф. Требуется ориентировать каждое ребро так, чтобы максимизировать число вершин, у которых степень исхода равна степени захода.
Дан ориентированный граф. Найдите два непересекающихся по рёбрам пути из
Пьяница стоит на числовой прямой в точке 0. Каждую секунду он делает единичный шаг вправо (в сторону увеличения координат) с вероятностью
Дан массив из xor
-сумма которых равна заданному числу
Польская армия хочет добраться из поселения
- Камиль руководит армией днём и водит армию по дорогам.
- Матеуш руководит армией ночью и совершает маневры по секретным тропам.
Каждый гетман перед маршем спрашивает дорогу у Ивана Сусанина. Иван хочет задержать наступление польских войск.
Карта дорог известна Камилю. Аналогично, карта секретных троп известна Матеушу.
Поэтому Ивану не удастся их так просто обмануть — он должен каждый раз выбрать переход так, что минимальное расстояние между поселением
Вы знаете карту дорог и троп вместе с их длинами. Помогите Ивану как можно дольше (желательно, бесконечно) вести армию из
В ряд стоят
Карлсон наполняет эти банки вареньем в
Малышу хочется определить для каждой банки наименьший номер операции, после которой она станет полной.
Серёжа потерялся в лабиринте
Придумайте любой полиномиальный алгоритм.
Дана строка из
Даны
Придумайте любой точный полиномиальный алгоритм.
Загадано некое число
x = # ...
def mask(p=0.2):
r = 0
for i in range(32):
if random.random() < p:
r += 2**i
return r
def query(y):
return bin(x ^ y ^ mask()).count('1')
Ваша задача — отгадать число, используя не более 10000 попыток.