Алгоритмы(1657 задач)
Структуры данных(279 задач)
Интерактивные задачи(17 задач)
Другое(54 задач)
В головоломку умножения играют с рядом карт, каждая из которых содержит одно положительное целое число. Во время хода игрок убирает одну карту из ряда и получает число очков, равное произведению числа на убранной карте и чисел на картах, лежащих непосредственно слева и справа от неё. Не разрешено убирать первую и последнюю карты ряда. После последнего хода в ряду остаются только эти две карты.
Цель игры — убрать карты в таком порядке, чтобы минимизировать общее количество набранных очков.
Например, если карты содержат числа 10, 1, 50, 20 и 5, игрок может взять карту с числом 1, затем 20 и 50, получая очки 10·1·50 + 50·20·5 + 10·50·5 = 500 + 5000 + 2500 = 8000. Если бы он взял карты в обратном порядке, то есть 50, затем 20, затем 1, количество очков было бы таким: 1·50·20 + 1·20·5 + 10·1·5 = 1000 + 100 + 50 = 1150.
В первой строке файла находится число карт N, во второй — разделённые пробелами N чисел на картах. Ограничения: 3 ≤ N ≤ 100, числа на картах целые от 1 до 100.
Вывести одно целое число — минимально возможное число очков.
6 10 1 50 50 20 5
3650
Маленький мальчик Глеб еще толком не познал жизнь, но он уже ОЧЕНЬ любит КАРАТЬ, НЕ ПРОЩАТЬ! И вот в очередной раз он решил поиздеваться над бедным Лёшиком =(
Он сказал, что у него есть первая четверть плоскости, он умеет добавлять на нее прямоугольник с нижней левой точкой (0;0) и верхней правой (x;y), умеет считать площадь получившейся фигуры, умеет считать площадь объединения этой фигуры с прямоугольником на точках (x1;y1) и (x2;y2) и даже площадь пересечения.
Лёшик в печальке... =(
Спасите Лёшика, решите эту задачу. Но помните, Глеб настолько суров, что заставил решать поставленную задачу в он-лайне!!!
В первой строке задано число N (1 ≤ N ≤ 105). Далее следует описание запросов:
первое число t — тип запроса
t = 0: вводятся числа x и y, значит нужно добавить прямоугольник с координатами (0;0) и (x;y)
t = 1: вы должны вывести площадь получившейся фигуры
t = 2: вводятся числа x1, y1, x2, y2, значит нужно вывести площадь пересечения фигуры и такого прямоугольника
t = 3: вводятся числа x1, y1, x2, y2, значит нужно вывести площадь объединения фигуры и такого прямоугольника
Так как Глеб коварен, то все числа в запросах нужно еще преобразовать. Пусть ANS — ответ на предыдущий запрос. Изначально ANS = 0.
Тогда при t = 0 x = 1 + (x + ANS): mod: 109, y = 1 + (y + ANS): mod: 109.
При t = [2, 3] x1 = 1 + (x1 + ANS): mod: (5·108), y1 = 1 + (y1 + ANS): mod: (5·108), x2 = x1 + 1 + (x2 + ANS): mod: (5·108), y2 = y1 + 1 + (y2 + ANS): mod: (5·108).
После запросов типа 1, 2 или 3 ANS = ответу на этот запрос.
Выведите ответы на запросы.
В 1 примере даны запросы, которые не преобразуются по заданным формулам для простоты понимания.
4 0 2 2 1 2 1 1 3 3 3 1 1 3 3
9 0 24
4 0 2 2 1 2 1 1 3 3 3 1 1 3 3
9 0 24
До наступления летнего сезона ремонта теплотрасс по улицам города можно было проехать от любой площади до любой другой. При ремонте теплотрассы под какой-либо площадью движение по ней полностью перекрывается. Требуется определить, под какими из площадей ремонт теплотрассы нарушает возможность проезда из любого конца города, не затронутого ремонтом, в любой другой. Учесть, что в один и тот же момент времени ремонтная бригада работает только на одной из площадей.
В первой строке входного файла находятся числа N — количество площадей в городе и М — количество улиц их соединяющих (1 ≤ N ≤ 2000, 1 ≤ M ≤ 200000). Площади имеют номера от 1 до N. В каждой из следующих M строк находится пара натуральных чисел, описывающая между какими двумя площадями проходит соответствующая улица (две площади соединяются не более чем одной улицей).
На первой строке выведите число C — количество площадей, ремонт на которых недопустим. На следующей строке выведите C целых чисел — номера этих площадей в возрастающем порядке.
5 6 1 2 2 3 1 3 3 4 3 5 4 5
1 3
Задано подвешенное дерево, содержащее n (1 ≤ n ≤ 100000) вершин, пронумерованных от 0 до n - 1. Требуется ответить на m (1 ≤ m ≤ 100000) запросов о наименьшем общем предке для пары вершин.
Запросы генерируются следующим образом. Заданы числа a1, a2 и числа x, y и z. Числа a3, ..., a2m генерируются следующим образом: ai = (x·ai - 2 + y·ai - 1 + z)mod: n. Первый запрос имеет вид (a1, a2). Если ответ на (i - 1)-й запрос равен v, то i-й запрос имеет вид ((a2i - 1 + v)mod: n, a2i).
Первая строка содержит два числа: n и m. Корень дерева имеет номер 0. Вторая строка содержит n - 1 целых чисел, i-е из этих чисел равно номеру родителя вершины i. Третья строка содержит число содержит два целых числа в диапазоне от 0 до n - 1: a1 и a2. Четвертая строка содержит три целых числа: x, y и z, эти числа неотрицательны и не превосходят 109.
Выведите в выходной файл сумму номеров вершин — ответов на все запросы.
3 2 0 1 2 1 1 1 0
2
«И молвил тогда Король: Ты храбро сражался, Рыцарь, и твой подвиг не будет забыт в веках. За доблесть твою я дарую тебе сей замок и земли вокруг него. Однако нарушен был тобой строжайший из запретов все войны видели, как ты сражался без Шляпы на голове подобно дикарям, и их злые духи могли вселиться в тебя. Ты знаешь, что закон предков велит отправлять на небеса души подобных тебе, пока зло, которое могло укорениться в них, не вырвалось наружу. Но в моей воле пощадить тебя, ибо я вижу, что ты достаточно силен чтобы не позволить этому злу проникнуть в мысли и душу твои. Ты должен дать обет три месяца и три дня не покидать своей земли и каждый день три часа после захода солнца молить добрых духов о защите. Дела торопят меня, и не могу я препроводить тебя до замка. Поэтому я дарую тебе и дорогу от этого места до замка. А сейчас иди, и возвращайся по истечении срока.»— так записано в Зеленой Книге Лет.
Помимо этого из Зеленой Книги Лет известно, что земли, вместе с которыми был дарован замок, имели форму круга. Король был очень мудр и, во избежание лишних разбирательств относительно права на землю всегда даровал только области земли, на карте имеющие выпуклую форму. Недавно в распоряжении историков оказалась информация о том, где располагался замок и где происходил этот исторический разговор. Их интересует, участок земли какой площади получил Рыцарь в предположении, что дорога до замка была идеально прямой.
Первая входного файла содержит два вещественных числа xk и yk координаты места, в котором происходил диалог. Во второй строке записаны три вещественных числа xc , yc и rc координаты замка и радиус окружности, ограничивающей дарованную вместе с ним землю. Все числа во входном файле по модулю не превосходят 10000.
В выходной файл выведите одно вещественное число — площадь земельного участка, полученного Рыцарем, с точностью не менее трех знаков после десятичной точки.
1440.82150 -499.96180 975.76735 -128.57330 297.57553
338836.3611315