Можно ли решить эту проблему, используя только один массив dp? Это проблема зигзага от topcoder (http://community.topcoder.com/stat?c=problem_statement&pm=1259&rd=4493) Последовательность чисел называется последовательностью зигзага, если различия между последовательными числами строго чередуются между положительными и отрицательными. Первое различие (если оно существует) может быть как положительным, так и отрицательным. Последовательность с менее чем двумя элементами тривиально представляет собой зигзагообразную последовательность.Динамическое программирование: найдите самую длинную подпоследовательность, которая является zig zag, используя только один массив dp
Например, 1,7,4,9,2,5 является зигзагообразной последовательностью, поскольку различия (6, -3,5, -7,3) являются альтернативно положительными и отрицательными. Напротив, 1,4,7,2,5 и 1,7,4,5,5 не являются зигзагообразными последовательностями, первый, потому что его первые два различия положительны, а во-вторых, потому что его последнее различие равно нулю.
Приведенная последовательность целых чисел, последовательность, возвращает длину самой длинной последовательности последовательности, которая является зигзагообразной последовательностью. Подпоследовательность получается путем удаления некоторого количества элементов (возможно, нуля) из исходной последовательности, оставляя остальные элементы в исходном порядке.
Какое нужное время работы? –
Что именно вы хотите? Если вы хотите, чтобы только один массив использовал массив длины 2n с 0-n, то zag и n-2n были zig? – sukunrt