Сохранен 5
https://2ch.hk/pr/res/2029010.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Помощь к задаче

 Аноним 12/05/21 Срд 22:44:19 #1 №2029010 
image.png
Помоги плез с задачей, чет никакой алгоритм не лезет в голову
Аноним 13/05/21 Чтв 00:17:26 #2 №2029105 
Этот подойдёт https://ru.m.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%A4%D0%BB%D0%BE%D0%B9%D0%B4%D0%B0_%E2%80%94_%D0%A3%D0%BE%D1%80%D1%88%D0%B5%D0%BB%D0%BB%D0%B0
Аноним 13/05/21 Чтв 00:28:01 #3 №2029110 
B
Аноним 13/05/21 Чтв 10:11:55 #4 №2029294 
>>2029010 (OP)
Динамика
Аноним 13/05/21 Чтв 15:49:24 #5 №2029597 
15839817547262.webm
>>2029010 (OP)
Интересная задача.
1. Если подумать логически, то для каждого перекрестка ты можешь посчитать некий вес, который будет являться суммой окружающих его домов. Получаем матрицу Lx2

2. Далее обрабатываем коллизии. Понимаем, что эффект воздействия магазина на севере и юге одинаковый и приводим матрицу Lx2 к массиву Lх1 каждое значение в котором будет являться наибольшим из этих двух.

3. Поскольку данный массив может включать в себя нулевые или отрицательные значения, которые не оказывают влияния или уменьшают максимальную сумму, то мы можем выделить из основного массива N-ое массивов разделителями между которыми будут являться таковые значения.

4. Далее для каждого массива найдем максимальную сумму. Сделать это можно например вызвав рекурсивный метод. Данный метод на вход получит массив и текущее значение итератора, а вернет максимальную сумму. Так как максимальная сумма зависит от всех выбранных элементов в последовательности, то выглядеть оно будет примерно так:

Max_sum(array, i){
var sum_with_value = array + Max_sum(array, i + 2);
var sum_with_out_value = array[i+1] + Max_sum(array, i + 3);
if(sum_with_value > sum_with_out_value){
return sum_with_value;
} else{
return sum_with_out_value;
}
}

5. После того как по каждому массиву нашли максимальную сумму, суммируем их и получаем итоговую максимальную сумму.

Данное решение скорее всего не идеальное, но мне похуй. Я в танке

comments powered by Disqus