Кажется я понял, что я ошибся. Параметр n в функции max_sum_subsequence не максимальная длинна подпоследовательности, а длинна самой последовательности.
Извините за панику.
Потому что я запустил приведенный код и проверил что результат неверный. Условие выхода из цикла сработает в тот момент, когда подпоследовательность заполнится. Но это не значит что функция обработает всю последовательность. Остальные элементы даже не будут рассматриваться.
создать алгоритм нахождения подпоследовательности с наибольшей суммой из всех возможных подпоследовательностей
Если в представленной на рисунке 7 последовательности изменить последний элемент с 1 на 200, то функция max_sum_subsequence все равно вернет подпоследовательность [3 9 -2 -4 0 2 6] как с наибольшей суммой из всех возможных, хотя очевидно, что наибольшая сумма будет у подпоследовательности из 3-х последних элементов [2 3 200].
Именно отсутствие стимула «угроза увольнения» превратило мою работу в хорошую работу. Я начал делать только интересные мне задачи и это привело к тому, что сейчас я выбираю себе задачу, а не наоборот.
«Процент показывает отношение проголосовавших за этот пункт к общему количеству проголосовавших». Общее количество проголосовавших, как принято, берется за 100%. Собственно, всегда так, это устоявшееся правило, что 100% — абсолютно полное число голосов проголосовавших людей за\против\еще какие-то варианты в любом опросе.
Кстати говоря, на хабре мое имя соответствует действительности и дата рождения тоже. Побольше моих постов\комментов на каком популярном ресурсе вы хотите увидеть для выяснения моей личности?
Извините за панику.
Потому что я запустил приведенный код и проверил что результат неверный. Условие выхода из цикла сработает в тот момент, когда подпоследовательность заполнится. Но это не значит что функция обработает всю последовательность. Остальные элементы даже не будут рассматриваться.
создать алгоритм нахождения подпоследовательности с наибольшей суммой из всех возможных подпоследовательностей
Если в представленной на рисунке 7 последовательности изменить последний элемент с 1 на 200, то функция max_sum_subsequence все равно вернет подпоследовательность [3 9 -2 -4 0 2 6] как с наибольшей суммой из всех возможных, хотя очевидно, что наибольшая сумма будет у подпоследовательности из 3-х последних элементов [2 3 200].
Или я что-то упускаю?
for ($i=0; $i < $n; $i++){
$mass[$i][$i] = 2*$i;
for ($j=0; $j < $i; $j++){
if($j==0){
$s = $n-$i;
$k = $i;
}
$mass[$i][$j] = $mass[$s][$k] = 2*$j;
$k++;
}
}