помогите хоть с один решением,заранее спасибо
1) Рассмотрим задачу о рюкзаке : по набору предметов `A = {a1....an}` их объемов `s(a1)...s(an)` и числу `B` найти такое подмножество `A' subseteq A` для которого `sum_{a in A'} s(a) = B`.
Используем для ее решения алгоритм "динамич. программирования" . Пусть `m(i,j) = 1` если среди первых `i` предметов `a1...ai` можно выбрать подмножество общего объема `j`, иначе `m(i,j) = 0`. Напишите реккурентное соотношение для `m(i,j)` Определите сложность решения задачи о рюкзаке, т.е . вычисления `m(n,B)` через параметры задачи. Является ли предложенный алгоритм полиномиальным?
2) Пусть задано циклическое слово S[1..n] в котором за каждым символом S(i) следует символ S(i + 1 mod n) Задача состоит в том, чтобы выбрать место разрезания этого слова i так чтобы получившееся линейное слово S<верхний index i> = S(i)...S(n)S(1)....S(i - 1) было лексикографически минимальным среди всех таких линейных слов. Предложите алгоритм линейной сложности для линеаризации циклических слов.