Hello 2024 |
---|
Закончено |
Вам дана строка $$$s$$$ длины $$$n$$$, состоящая из символов «+» и «-». По строке $$$s$$$ можно построить массив $$$a$$$ длины $$$n$$$, в котором $$$a_i=1$$$, если $$$s_i=$$$ «+» и $$$a_i=-1$$$, если $$$s_i=$$$ «-».
Чтобы вычислить штраф, нужно выполнить следующие действия:
Найдите минимальный возможный штраф, который вы можете получить, если вы выполните вышеописанные действия оптимально.
$$$^\dagger$$$ Некоторые допустимые способы разбить $$$a=[3,1,4,1,5]$$$ на $$$(b_1,b_2,\ldots,b_k)$$$ — $$$([3],[1],[4],[1],[5])$$$, $$$([3,1],[4,1,5])$$$ и $$$([3,1,4,1,5])$$$, в то время как некоторыми недопустимыми способами разбиения $$$a$$$ являются $$$([3,1],[1,5])$$$, $$$([3],[\,],[1,4],[1,5])$$$ и $$$([3,4],[5,1,1])$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \leq t \leq 1000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 5000$$$) — длину строки $$$s$$$.
Вторая строка каждого набора входных данных содержит строку $$$s$$$ ($$$s_i \in \{ \mathtt{+}, \mathtt{-} \}$$$, $$$|s| = n$$$).
Отметим, что на сумму $$$n$$$ по всем наборам входных данных не накладываются дополнительные ограничения.
Для каждого набора входных данных выведите одно целое число, представляющее собой минимальный возможный штраф, который вы можете получить.
51+5-----6+-+-+-10--+++++++-20+---++++-+++++---++-
1 5 0 4 4
В первом наборе входных данных $$$a=[1]$$$. Мы можем разбить массив $$$a$$$ на один подмассив $$$([1])$$$. Тогда сумма штрафов равна $$$p([1]) = 1$$$.
Во втором наборе входных данных имеем $$$a=[-1,-1,-1,-1,-1]$$$. Мы можем разбить массив $$$a$$$ на массивы $$$([-1],[-1],[-1],[-1],[-1])$$$. Тогда сумма штрафов подмассивов равна $$$p([-1]) + p([-1]) + p([-1]) + p([-1]) + p([-1]) = 1 + 1 + 1 + 1 + 1 = 5$$$.
В третьем наборе входных данных $$$a=[1,-1,1,-1,1,-1]$$$. Мы можем разбить массив $$$a$$$ на $$$([1,-1,1,-1],[1,-1])$$$. Тогда сумма штрафов подмассивов равна $$$p([1,-1,1,-1]) + p([1,-1]) = 0 + 0 = 0$$$.
Название |
---|