Динамическое программирование на таблицах(46 задач)
Динамическое программирование по подстрокам(21 задач)
Задача о рюкзаке(34 задач)
Дана последовательность, требуется найти длину её наибольшей возрастающей подпоследовательности. Подпоследовательностью последовательности называется некоторый набор её элементов, не обязательно стоящих подряд.
В первой строке входных данных задано число N - длина последовательности (1 ≤ N ≤ 1000). Во второй строке задается сама последовательность (разделитель - пробел). Элементы последовательности - целые числа, не превосходящие 10000 по модулю.
Требуется вывести длину наибольшей строго возрастающей подпоследовательности.
6 3 29 5 5 28 6
3
В прямоугольной таблице NxM в начале игрок находится в левой верхней клетке. За один ход ему разрешается перемещаться в соседнюю клетку либо вправо, либо вниз (влево и вверх перемещаться запрещено). Посчитайте, сколько есть способов у игрока попасть в правую нижнюю клетку.
Вводятся два числа N и M - размеры таблицы (1<=N<=10, 1<=M<=10).
Выведите искомое количество способов.
Примечание
При указанных ограничениях число способов входит в тип Longint.
1 10
1
Задан шаблон, состоящий из круглых скобок и знаков вопроса. Требуется определить, сколькими способами можно заменить знаки вопроса круглыми скобками так, чтобы получилось правильное скобочное выражение.
На вход программы поступает заданный шаблон длиной не более 80 символов.
Выведите искомое количество способов восстановления скобок. Исходные данные будут таковы, что это количество не превзойдет 2·109 .
Задано уравнение вида A + B = C, где A, B и C – неотрицательные целые числа, в десятичной записи которых некоторые цифры заменены знаками вопроса (?). Примером такого уравнения является ?2+34=4?. Требуется так подставить вместо знаков вопроса цифры, чтобы это равенство стало верным, либо определить, что это невозможно.
Заданное уравнение содержится в первой строке входных данных. Длина уравнения не превышает 80 символов. Исходные данные не содержат пробелов.
Требуется вывести верное равенство, полученное из исходного уравнения заменой знаков вопроса цифрами, либо сообщение “No solution
”.
Лесенкой называется набор кубиков, в котором каждый горизонтальный слой содержит меньше кубиков, чем слой под ним.
Подсчитать количество различных лесенок, которые могут быть построены из N кубиков.
Вводится одно число N (1 ≤N≤ 150).
Выведите искомое количество лесенок.
3
2