Перестановки(20 задач)
Сочетания(5 задач)
Разбиения(9 задач)
Разные комбинаторные структуры(17 задач)
Генерация по номеру(2 задач)
В парке растут два очень высоких дерева, на стволе каждого из которых расположены дупла одно под другим на равном расстоянии друг от друга. Однажды N дятлов решили заселить эти дупла. Некоторые из них знакомы и поэтому хотели бы иметь возможность летать друг к другу в гости. Дятлы летают прямолинейно и очень быстро. Чтобы уменьшить вероятность столкновения, они решили селиться по следующему принципу:
Каждые две дятла, которые хотят летать друг к другу в гости, должны жить на разных деревьях Отрезки, соединяющие дупла знакомых между собой дятлов не пересекаются (однако их концы могут совпадать).В первой строке содержатся три числа: \(N\) – количество дятлов (\(1 \leq N \leq 10^6\)), \(M\) – количество пар знакомых дятлов (\(1 \leq M \leq 10^7\)) и число \(K\) (\(1 \leq K \leq 2\times 10^6\)). Дятлы занумерованы от \(1\) до \(N\). В следующих \(M\) строках заданы два числа \(a_i\) и \(b_i\) (\(1 \leq a_i, b_i \leq N\)), задающие пару знакомых дятлов.
Вывод должен содержать одно число: количество вариантов размещения по модулю K.
3 2 10 1 2 1 3
4
4 4 17 1 2 1 3 4 2 3 4
0
Во входном файле заданы неотрицательные целые числа \(n\) и \(m\), не превосходящие 400000.
Выведите ответ на задачу в десятичной системе счисления без ведущих нулей.
7 7
3432
4 1
5
Дана строка, составленная из круглых скобок. Определите, какое наименьшее количество символов необходимо удалить из этой строки, чтобы оставшиеся символы образовывали правильную скобочную последовательность.
Во входном файле записана строка из круглых скобок. Длина строки не превосходит \({100\,000}\) символов.
Выведите единственное целое число — ответ на поставленную задачу.
())(()
2
))(((
5
Посчитайте количество правильных скобочных последовательностей длины \(2n\) (\(n\) открывающихся скобок и \(n\) закрывающихся), составленных из круглых и квадратных скобок так, что внутри любой пары круглых скобок нет квадратных скобок.
В единственной строке через пробел записано целое неотрицательное число \(n\), не превосходящее 1000.
Выведите остаток от деления количества искомых правильных скобочных последовательностей на \(10^9+7\).
1
2
2
7
Выведите все правильные скобочные последовательности заданной длины в лексикографическом порядке.
Во входном файле записана натуральное число \(n\), не превосходящее 10.
Выведите все правильные скобочные последовательности длины \(2n\) в лексикографическом порядке, по одной последовательности в строке.
3
((())) (()()) (())() ()(()) ()()()