Изменения

Перейти к: навигация, поиск

Список заданий по ДМ

6074 байта добавлено, 17:45, 14 ноября 2014
Нет описания правки
# Установите явное взаимно-однозначное соответствие между объектами из предыдущих трех заданий и правильными скобочными последовательностями.
# Укажите способ подсчитать число разбиений числа на слагаемые за $O(n \sqrt{n})$
# Решите с помощью ДП задачу о наибольшей общей подстроке за $O(n^2)$
# Решите с помощью ДП задачу о наибольшей общей возрастающей подпоследовательности за $O(n^3)$
# Решите с помощью ДП задачу о наибольшей общей возрастающей подпоследовательности за $O(n^2)$
# Докажите, что минимальное число невозрастающих подпоследовательностей, на которые можно разбить заданную последовательность, равно длине ее наибольшей возрастающей подпоследовательности
# Решите задачу о наибольшей возрастающей подпоследовательности за $O(n \log n)$
# Решите с помощью ДП задачу о наибольшей пилообразной подпоследовательности (последовательность называется пилообразной, если никакие ее три подряд идущих элемента не образуют ни возрастающую, ни убывающую последовательность)
# Докажите, что произведение длины наибольшей возрастающей подпоследовательности и наибольшей убывающей подпоследовательности перестановки не меньше $n$
# Будем говорить, что строки a и b образуют пару подстрок строки c, если c можно представить как xaybz, где x, y и z - произвольные строки. Решите с помощью ДП задачу о наибольшей общей паре подстрок.
# Задача о редакционном расстоянии: найдите последовательность действий для превращения строки $s$ в строку $t$ с помощью операций вставки, удаления и замены символа. Длины строк $m$ и $n$, соответственно. Требуется решить задачу за $O(mn)$ с памятью $O(m + n)$.
# Решите задачу о редакционном расстоянии, если помимо операций вставки, удаления и замены символа можно использовать операцию обмена местами двух соседних символов. Стоимость всех операций одинаковая.
# Решите битоническую задачу о комивояжере: найдите во взвешенном графе гамильтонов цикл минимального веса, который удовлетворяет дополнительно следующему свойству: сначала номера посещенных вершин возрастают, а затем убывают. Время $O(n^2)$.
# Задача о рюкзаке: дано $n$ предметов, у каждого предмета есть вес $w_i$ и стоимость $v_i$, размер рюкзака $c$, требуется выбрать предметы максимальной суммарной стоимости с весом не более $c$. Решите задачу за время $O(nc)$ с памятью $O(c)$.
# Задача о рюкзаке без ограничения на число одинаковых предметов: дано $n$ типов предметов, у каждого предмета есть вес $w_i$ и стоимость $v_i$, размер рюкзака $c$, требуется выбрать предметы максимальной суммарной стоимости с весом не более $c$. Каждого предмета можно брать несколько (любое количество) экземпляров. Решите задачу за время $O(nc)$ с памятью $O(c)$.
# Непрерывная задача о рюкзаке: дано $n$ жидкостей, у каждой жидкости есть доступное количество $w_i$ и стоимость единицы жидкости $v_i$, размер рюкзака $c$, требуется выбрать для каждой жидкости число $0 \le x_i \le w_i$, чтобы суммарной стоимости выбранных жидкостей $\sum x_iv_i$ была максимальна и суммарное объем взятых жидкостей $\sum x_i$ был не более $c$.
# Задача о рюкзаке, большой рюкзак: дано $n$ типов предметов, у предмета $i$-го типа есть вес $w_i$ и стоимость $v_i$, размер рюкзака $c$, предметов каждого типа можно взять любое количество, требуется выбрать предметы максимальной суммарной стоимости с весом не более $c$. Докажите, что если максимальный вес предмета $z$, то следует взять предметов с максимальным отношением $c_i/w_i$ с суммарным весом хотя бы $c - z^2$.
# Решите задачу о рюкзаке: дано $n$ предметов, у каждого предмета есть вес $w_i$ и стоимость $v_i$, размер рюкзака $c$, требуется выбрать предметы максимальной суммарной стоимости с весом не более $c$, время $O(2^{n/2} \cdot poly(n))$, память $O(2^{n/2})$
</wikitex>
Анонимный участник

Навигация