Недавно Рудольф сдавал экзамен по Очень Важной Дисциплине, в котором был Самый Важный Вопрос. Ответом на вопрос может быть только строка из строчных латинских букв. Но Рудольфу не повезло, и он дал неверный ответ. Рудольф знает, что перед проверкой экзамена все ответы загружаются в базу данных, к которой у Рудольфа есть доступ.
Рудольфу доступны следующие команды:
Рудольф боится не сдать экзамен и хочет успеть исправить ответ до того, как преподаватель будет проверять его, поэтому он хочет исправить ответ на правильный как можно быстрее. Помогите Рудольфу сделать это.
Первая строка содержит целые числа $$$N$$$ и $$$M$$$ ($$$1 \le N, M \le 3000$$$) — длина строки, являющейся ответом Рудольфа, и длина строки, являющейся верным ответом.
Вторая строка содержит последовательность $$$S_1$$$, состоящую из $$$N$$$ строчных латинских букв, — ответ, данный Рудольфом.
Третья строка содержит последовательность $$$S_2$$$, состоящую из $$$M$$$ строчных латинских букв — верный ответ.
Выведите одно целое число — минимальное время, которое требуется, чтобы преобразовать ответ Рудольфа в верный ответ.
7 6 zabxdda abcdxy
11
7 7 haransp saransk
2
В первом тесте мы можем получить ответ, удалив из строки один символ в начале («z») и два в конце («a» и «d»), заменив четвёртый символ («x» на «c»), и добавив в конец два символа («x» и «y»).
Рудольф попал в противоположное измерение, где всегда светло, а вместо лампочек используют генераторы тьмы, расположенные на огромной прямоугольной площадке, представляющей собой клетчатое поле. Каждый генератор характеризуется координатами клетки ($$$X_i$$$, $$$Y_i$$$), в которой он расположен, и мощностью $$$D_i$$$. В клетке ($$$X_i$$$, $$$Y_i$$$) генератор создает тьму, равную $$$D_i$$$; в клетках вокруг генератора (в восьми соседних клетках; клетка является соседней, если граничит с текущей по стороне или по углу), создается тьма равная $$$D_i-1$$$, в клетках вокруг этих клеток тьма равна $$$D_i-2$$$ и так далее, пока тьма не достигнет нуля (смотрите пример в примечании). Если на какую-то клетку воздействуют нескольких генераторов, то их тьма складывается.
Рудольф хотел отдохнуть в тени, но внезапно обнаружил, что в этом измерении он существует сразу в форме $$$M$$$ тёмных Рудольфов. Каждый из них имеет порог тьмы, при котором он может существовать. То есть каждому Рудольфу нужно находиться в клетке, в которой тьма не меньше определённого значения. В каждой клетке может находиться только один тёмный Рудольф. Помогите Рудольфу разместить свои сущности либо выясните, что это невозможно.
Первая строка содержит число $$$N$$$ $$$(1 \leq N \leq 1000)$$$ — количество генераторов тьмы.
Следующие $$$N$$$ строк содержат по три целых числа $$$X_i$$$, $$$Y_i$$$, $$$D_i$$$ $$$(0 \leq X_i, Y_i \leq 1000)$$$, $$$(1 \leq D_i \leq 1000)$$$ — координаты и мощности генераторов соответственно.
Следующая строка содержит число $$$M$$$ $$$(1 \leq M \leq 1000)$$$ — количество темных Рудольфов.
Следующая строка содержит $$$M$$$ целых чисел $$$R_j$$$ $$$(1 \leq R_j \leq 100000)$$$ — минимальное количество тьмы, в которой может существовать $$$j$$$-й тёмный Рудольф.
Если разместить всех Рудольфов невозможно, выведите «NO».
В противном случае выведите «YES», затем выведите $$$M$$$ строк. В каждой строке выведите два целых числа $$$X_i$$$, $$$Y_i$$$ $$$(0 \leq X_i, Y_i \leq 1000)$$$ — координаты $$$i$$$-го Рудольфа. Если ответов несколько, выведите любой.
2 1 1 3 4 6 2 12 2 2 2 1 2 2 3 1 2 2 2 2
YES 1 0 4 6 2 2 4 7 1 2 0 2 1 1 3 7 2 1 0 1 0 0 2 0
3 0 0 5 3 0 4 5 5 7 5 6 3 9 2 9
YES 1 1 1 0 2 2 3 2 2 1
1 2 2 3 4 2 3 3 2
NO
Пример первого теста приведен на рисунке. Синие клетки — расположение генераторов. Цифры обозначают мощность тьмы в клетках.
Рудольф решил заняться своим здоровьем. Он прочитал, что ходьба очень полезна, и купил фитнес-браслет, чтобы отслеживать свои успехи. В течение $$$N$$$ дней браслет считал, сколько шагов $$$S_i$$$ за $$$i$$$-й день сделал Рудольф.
Через некоторое время ему захотелось визуализировать свой прогресс, и он расположил на координатной плоскости точки $$$(i, S_i)$$$. Взглянув на получившийся график, Рудольф понял, что отдельно взятые точки не очень репрезентативны. Тогда он решил построить прямую по следующим правилам. Для прямой $$$F(X) = AX + B$$$ он ввёл величину ошибки $$$E = \sum\limits_{i=1}^N{(S_i - F(i)) ^ 2}$$$. Очевидно, чем меньше величина ошибки, тем правильнее прямая покажет прогресс Рудольфа. Но порой точки так сильно отличались, что даже оптимальная прямая казалась ему недостаточно удачной. Тогда Рудольф подумал, почему бы не построить несколько прямых. Он решил разбить весь массив имеющихся у него измерений на несколько непрерывных и непересекающихся частей, для каждой из них построить прямую и посчитать суммарную ошибку. Но чтобы не дробить массив слишком сильно, Рудольф ввёл дополнительный штраф $$$C$$$ за каждую отдельную часть. Он получил следующую формулу ошибки для своей системы оценки успехов: $$$M \cdot C + \sum\limits_{i=1}^M{E_i}$$$, где $$$M$$$ — количество частей, на которые разбит массив данных, а $$$E_i$$$ — величина ошибки $$$i$$$-й части. Такая формула полностью устроила Рудольфа. Но минимизировать эту ошибку оказалось непростой задачей, поэтому он просит вас помочь ему с этим.
Первая строка содержит два целых числа $$$N$$$ и $$$C$$$ ($$$1 \le N \le 5000, 1 \le C \le 10 ^ 6$$$) — количество дней, в течение которых велись записи, и штраф за разбиение соответственно.
Вторая строка содержит $$$N$$$ целых чисел $$$S_i$$$ ($$$1 \le S_i \le 10^6$$$) — количество шагов, сделанных Рудольфом в $$$i$$$-й день.
Выведите одно вещественное число — минимальную суммарную ошибку, которую можно получить по формуле Рудольфа.
Ваш ответ будет засчитан, если относительная или абсолютная погрешность не будет превышать $$$10^{-6}$$$. Формально если $$$a$$$ — ваш ответ, а $$$b$$$ — ответ жюри, то он будет засчитан, если $$$\frac{|a-b|}{max(b,1)} \leq 10^{-6}$$$.
4 5 2 1 4 3
8.2000000000
4 1 2 1 4 3
2.0000000000
В первом примере оптимальный ответ достигается, если провести одну прямую $$$y = 0.6x + 1$$$ через все точки.
Во втором примере оптимально будет разбить массив точек на две части по две точки.
Рудольф купил себе новую машину Presla Model Z и хочет испытать её на тестовом полигоне.
Новая машина — очередной хит X Æ A-12 Маска, сына того самого Илона. Её характеристики бесподобны. Максимальная скорость безгранична, а потребление электроэнергии минимально. К тому же, новые электродвигатели позволяют получать одинаковый разгон независимо от скорости. Новая модель способна разгоняться с ускорением $$$accel$$$ км$$$/c^2$$$, при этом энергозатраты равны $$$F_a$$$ единиц за одну секунду ускорения. Тормозная система данной модели позволяет мгновенно сбрасывать скорость до любого значения, при этом пассажиры совсем не почувствуют этого из-за системы UGSDS (Ultra Giga Soft Driver Supporting). Это новая адаптивная система поддержки четвертой, пятой и других точек тела человека в кресле. Для экономии заряда батарей используется рекуперативная система Eco Super Power, которая позволяет заряжать батареи, пока машина едет на большой скорости. Данная система позволяет поддерживать любую скорость за $$$F_v$$$ единиц заряда в секунду.
Так как Рудольф, помимо прочих достоинств, еще и весьма занятой и высокооплачиваемый программист, он всегда стремится поработать в свободное время, чтобы получить большее денежное вознаграждение, ведь ему оплачивают каждую рабочую секунду.
На текущем рабочем месте Рудольф получает $$$P_t$$$ рублей за одну рабочую секунду. Клубная карта сети зарядок БерЭлектроНефть позволяет заряжаться по низкой цене в $$$P_f$$$ рублей за одну единицу заряда.
Рудольф знает длину своего любимого маршрута, и он хочет знать, как много денег он может потерять при поездке по этому маршруту.
Первая строка содержит два целых числа $$$P_f$$$ и $$$P_t$$$ $$$(1 \leq P_f, P_t \leq 10^9)$$$ — стоимость зарядки одной единицы заряда на сети зарядок БерЭлектроНефть и одной рабочей секунды Рудольфа соответственно.
Вторая строка содержит три целых числа $$$accel, F_a$$$ и $$$F_v$$$ $$$(1 \leq accel, F_a, F_v \leq 10^5)$$$ — ускорение в км$$$/c^2$$$, потребление электроэнергии на ускорение и поддержание скорости соответственно.
Третья строка содержит одно целое число $$$S$$$ $$$(1 \leq S \leq 10^9)$$$ — длина предполагаемого маршрута Рудольфа в км.
Выведите искомую минимальную стоимость денежных потерь Рудольфа при преодолении своего любимого маршрута.
Ваш ответ будет засчитан, если относительная или абсолютная погрешность не будет превышать $$$10^{-4}$$$. Формально если $$$a$$$ — ваш ответ, а $$$b$$$ — ответ жюри, то он будет засчитан если $$$\frac{|a-b|}{max(b,1)} \leq 10^{-4}$$$.
4 100 10 20 2 5000
5216.895629
Рудольф купил себе новую машину Presla Model Z и хочет испытать её на тестовом полигоне.
Новая машина — очередной хит X Æ A-12 Маска, сына того самого Илона. Её характеристики бесподобны. Максимальная скорость безгранична, а потребление электроэнергии минимально. К тому же, новые электродвигатели позволяют получать одинаковый разгон независимо от скорости. Новая модель способна разгоняться с ускорением $$$accel$$$ км$$$/c^2$$$, при этом энергозатраты равны $$$F_a$$$ единиц за 1 секунду ускорения. Тормозная система данной модели позволяет мгновенно сбрасывать скорость до любого значения, при этом пассажиры совсем не почувствуют этого из-за системы UGSDS (Ultra Giga Soft Driver Supporting). Это новая адаптивная система поддержки четвертой, пятой и других точек тела человека в кресле. Для экономии заряда батарей используется рекуперативная система Eco Super Power, которая позволяет заряжать батареи, пока машина едет на большой скорости. Данная система позволяет поддерживать любую скорость за $$$F_v$$$ единиц заряда в секунду.
Так как Рудольф, помимо прочих достоинств, еще и весьма занятой и высокооплачиваемый программист, он всегда стремится поработать в свободное время, чтобы получить большее денежное вознаграждение, ведь ему оплачивают каждую рабочую секунду.
На текущем рабочем месте Рудольф получает $$$P_t$$$ рублей за одну рабочую секунду. Клубная карта сети зарядок БерЭлектроНефть позволяет заряжаться по низкой цене в $$$P_f$$$ рублей за один ватт.
Рудольф знает длину своего любимого маршрута, и он хочет знать, как много денег он может потерять при поездке по этому маршруту.
Он уже протестировал данный маршрут на тестовом полигоне, а теперь хочет воплотить полученные стратегии на реальных дорогах. Вот только на реальных дорогах бывают и другие участники движения. Но, благодаря системе «ГлаВаш» он частично может решить эту проблему. Он выезжает только в том случае, когда на его пути есть всего одна машина — машина его коллеги по работе. Его коллега также нашел для себя оптимальную стратегию движения. Стоит заметить, что обе машины выезжают в одну сторону, но с разных стартовых точек. Начальная скорость каждой машины равна нулю.
Реальные дороги накладывают реальные ограничения на движение. Например, существуют очень строгие правила обгона — обгон возможен только в том случае, если скорость обгоняющей машины не менее, чем на $$$30\%$$$ выше скорости обгоняемой машины. В противном случае обгоняющей машине придется сбросить скорость и ехать за впереди идущей машиной.
Первая строка содержит два целых числа $$$P_f$$$ и $$$P_t$$$ $$$(1 \leq P_f, P_t \leq 10^9)$$$ — стоимость зарядки одной единицы заряда на сети зарядок БерЭлектроНефть и одной рабочей секунды Рудольфа соответственно.
Вторая строка содержит три целых числа $$$accel, F_a$$$ и $$$F_v$$$ $$$(1 \leq accel, F_a, F_v \leq 10^5)$$$ — ускорение в км$$$/c^2$$$, потребление электроэнергии на ускорение и поддержание скорости соответственно.
Третья строка содержит одно целое число $$$S$$$ $$$(1 \leq S \leq 10^9)$$$ — длина предполагаемого маршрута Рудольфа в км.
Четвертая строка содержит два целых числа $$$Sp$$$ $$$(1 \leq Sp \leq S-1)$$$ и $$$P_{t2}$$$ $$$(1 \leq P_{t2} \leq 10^9)$$$ — стартовая точка коллеги по работе Рудольфа и стоимость одной рабочей секунды коллеги.
Выведите искомую минимальную стоимость денежных потерь Рудольфа при преодолении своего любимого маршрута.
Ваш ответ будет засчитан, если относительная или абсолютная погрешность не будет превышать $$$10^{-4}$$$. Формально если $$$a$$$ — ваш ответ, а $$$b$$$ — ответ жюри, то он будет засчитан если $$$\frac{|a-b|}{max(b,1)} \leq 10^{-4}$$$.
10 7 3 10 2 100000 1000 1
18444.063252
Рудольф хочет поразить Байера своими магическими способностями. Чтобы это сделать, он покажет ему фокус. Для фокуса он возьмёт колоду из N различных карт, тщательно и равномерно перемешает её и положит перед собой рубашкой вверх. Затем он попытается угадать верхнюю карту. Если это удалось, все ликуют, и фокус завершается. Иначе он запоминает карту, откладывает её и продолжает угадывать верхнюю карту в оставшейся колоде. К сожалению магии не существует, поэтому Рудольф просит вас посчитать математическое ожидание количества попыток, через которое он угадает карту.
Первая строка содержит одно целое число N (1 ≤ N ≤ 109) — количество карт в колоде.
Выведите одно вещественное число — математическое ожидание количества попыток.
Ваш ответ будет засчитан, если относительная или абсолютная погрешность не будет превышать 10 - 6.
2
1.5000000000
В примере Рудольф либо угадывает с вероятностью 0.5 с первой попытки, либо не угадывает с вероятностью 0.5 первый раз и с вероятностью 1.0 угадывает оставшуюся карту со второй попытки. Тогда математическое ожидание равно 0.5·1 + 0.5·1·2 = 1.5.
Путешествия Рудольфа по параллельным мирам привели к ожидаемому результату, он встретил альтернативного Рудольфа. Теперь Рудольф пытается понять, что у него общего с альтернативным Рудольфом.
Рудольф характеризуется последовательностью из $$$N$$$ целых чисел $$$A_i$$$. Альтернативный Рудольф — последовательностью из $$$M$$$ целых чисел $$$B_i$$$. Общими характеристиками Рудольфов являются такие целые числа, которые входят и в характеристики основного Рудольфа, и в характеристики альтернативного Рудольфа, причём в том же порядке. Более того, так как Рудольфы перфекционисты, числа в выбранных характеристиках должны строго возрастать. Ну и очевидно, что из всех подходящих наборов нужно выбрать наидлиннейший.
Пока Рудольфы общаются между собой и смотрят детские фотографии, определите, что общего между двумя Рудольфами.
Первая строка содержит целое число $$$N$$$ ($$$1 \le N \le 4000$$$) — количество характеристик основного Рудольфа.
Вторая строка содержит $$$N$$$ целых чисел $$$A_i$$$ ($$$1 \le A_i \le 10^9$$$) — характеристики основного Рудольфа.
Третья строка содержит целое число $$$M$$$ ($$$1 \le M \le 4000$$$) — количество характеристик альтернативного Рудольфа.
Четвёртая строка содержит $$$M$$$ целых чисел $$$B_i$$$ ($$$1 \le B_i \le 10^9$$$) — характеристики альтернативного Рудольфа.
В первой строке выведите одно целое число — максимальное количество общих характеристик Рудольфов.
Во второй строке выведите значения общих характеристик Рудольфов.
Если может быть несколько правильных ответов, выведите любой.
5 125 200 175 415 50 7 125 125 175 1100 415 25 110
3 125 175 415
4 180 25 74 200 5 140 74 80 200 25
2 74 200
Рудольф долгое время ходил по магазину канцелярских товаров в поисках особенной ручки для его особенных заметок. Уже увидев нужную ему ручку, Рудольф обратил внимание на очень странный аппарат. Это была какая-то платформа с лезвием. Он обратился к консультантам магазина, и ему объяснили, что это просто резак для бумаг, который позволяет сделать один ровный и длинный разрез на листе бумаги.
Рудольф решил купить чудо-устройство и сразу же испытать его, но ... слегка увлекся. Очнувшись от охватившего его бумажного азарта, он задумался.
Рудольфа мучали две мысли:
Если второй вопрос скорее риторический, то первый вопрос стал для Рудольфа критически важным. Известно, что изначально у Рудольфа был лист бумаги, который помещался в резак. Лист бумаги имел форму произвольного многоугольника без самопересечений. Рудольф запомнил, какие координаты на координатной плоскости резака соответствовали вершинам многоугольника, описывающего лист бумаги, и по каким линиям он делал разрез. Стоит заметить, что после выполнения каждого разреза Рудольф убирал некоторые отрезанные части.
Помогите Рудольфу вычислить суммарную площадь частей листа, которые у него остались после выполнения всех разрезов.
Первая строка содержит одно целое число $$$N$$$ $$$(4 \leq N \leq 100)$$$ — количество вершин листа Рудольфа перед первым разрезом.
Следующие $$$N$$$ строк содержат по два целых числа $$$X_i, Y_i$$$ $$$(0 \leq X_i, Y_i \leq 1000)$$$ — координаты $$$i$$$-й вершины листа. Точки перечислены в том порядке, в котором они соединяются, чтобы образовать контур листа.
Следующая строка содержит одно целое число $$$M$$$ $$$(0 \leq M \leq 100)$$$ — количество разрезов, которые сделал Рудольф.
Следующие $$$M$$$ строк содержат четыре целых числа $$$X_l, Y_l, X_r, Y_r$$$ $$$(-1000 \leq X_l, Y_l, X_r, Y_r \leq 2000)$$$ и один символ $$$H$$$ — описание координат точек, между которыми был произведен разрез, и указание, какие из частей листа были убраны.
$$$H$$$ может принимать два значения:
Гарантируется, что линия разреза, если проходит через лист, то всегда пересекает лист полностью.
Выведите одно вещественное число — искомую суммарную площадь оставшихся частей листапосле выполнения всех разрезов.
Ваш ответ будет засчитан, если относительная или абсолютная погрешность не будет превышать $$$10^{-4}$$$. Формально если $$$a$$$ — ваш ответ, а $$$b$$$ — ответ жюри, то он будет засчитан если $$$\frac{|a-b|}{max(b,1)} \leq 10^{-4}$$$.
4 0 0 1 0 1 3 0 3 1 -1 1 2 1 B
2.000000
4 1 1 7 1 7 9 1 9 2 -1 8 9 8 U -1 5 5 -1 B
40.000000
16 4 0 11 0 11 2 5 2 5 4 8 4 8 6 2 6 2 8 4 8 4 10 0 10 0 8 1 8 1 4 4 4 2 0 11 11 0 B -5 1 12 1 U
0.500000
4 0 0 1 0 1 1 0 1 1 -1 2 3 2 B
0.000000
Изображение ниже описывает второй тест. Серые области обозначают части листа, которые были убраны после разрезов.
Рудольф — большой фанат Леонардо да Винчи. Леонардо да Винчи оставил огромное наследие, намного опередившее его время. Свои записи гений оставлял в оригинальной технике, которую решил изучить и исследовать Рудольф. Он выяснил, что великий Леонардо представлял числа в «зеркальной» двоичной записи, переводя затем обратно в десятичную систему.
Рудольф хочет дешифровать все имеющиеся у него записи Леонардо и просит вас помочь ему, а именно, написать программу, которая выводит число, двоичная запись которого выглядит зеркальным отражением двоичной записи заданного числа.
Единственная строка входных данных содержит единственное целое положительное число $$$X$$$ $$$(1 \le X \le 10^9)$$$.
Выведите целое положительное число в десятичной системе счисления, двоичная запись которого выглядит зеркальным отражением двоичного представления заданного числа.
13
11
У Рудольфа очень много разной техники, которой он активно пользуется. Естественно, почти каждое устройство требует либо подзарядки, либо постоянного подключения к электросети. Со временем в проводах, идущих от устройств к розеткам, возникла некоторая путаница. Стало непонятно, какой провод от какого устройства. Рудольф заметил, что в этой сети проводов есть некоторое количество точек спутывания. Для каждой точки характерно то, что в ней переплелись хаотично все имеющиеся провода. Кроме того, Рудольф обратил внимание, что между любыми двумя точками спутывания протягивается не более одного из имеющихся проводов.
Рудольфу очень хочется навести порядок в проводах и распутать их. Чтобы как-то облегчить себе эту задачу, он хочет получить хоть одну возможную конфигурацию расположения проводов.
Помогите Рудольфу это сделать.
Единственная строка содержит два целых числа $$$N$$$ и $$$K$$$ ($$$1 \le N, K \le 1000$$$) — количество точек спутывания и количество устройств у Рудольфа.
Если возможно составить конфигурацию из $$$K$$$ проводов, удовлетворяющую условиям, выведите $$$K$$$ строк. В $$$i$$$-й строке выведите последовательность точек спутывания, через которую проходит $$$i$$$-й провод. Если решений несколько, то выведите любое.
Если Рудольф что-то напутал, и невозможно составить требуемую конфигурацию, выведите $$$-1$$$.
4 2
1 2 4 3 2 3 1 4
3 2
-1
Пример расположения двух проводов и четырех точек спутывания приведен на рисунке. Провода выделены зеленым и синим цветом. Точки спутывания обозначены черными точками, концы проводов — зелеными и синими соответственно.