На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 87
ссылка на сообщение  Отправлено: 26.07.22 22:01. Заголовок: №4848 (27.93) ошибка в решении


Здравствуйте.

В решении Д. Муфаззалова (27-93 mufazzalov.py) есть ошибка в логике. Дело в том, что current_min вычисляется с запозданием на один шаг, поэтому получается 2 варианта проблем.

Первый вариант, это когда минимальный хвост подсчитывается неверно и берется предпоследнее минимальное значение:

Данные
 
5 3
-3
-1
-3
-3
-3

Ответ будет - 10, а правильный -9. Проблема в том, что минимум для первого отрезка {-3, -1} вычислится как -3, а не -4, ведь current_min отстает на шаг и если нужный шаг стоит рядом с магическим числом, то алгоритм просто не успевает проверить последний вариант current_sub_sum.

Второй вариант проблем заключается в том, что по дефолту для current_min задается значение 0 для каждой новой итерации и если магические числа будут стоять рядом, то из-за того, что current_min запаздывает на шаг, в current_min не будет попадать начало отрезка с магическим числом и значение current_min так и будет оставаться равным нулю. Тогда для данных
 
5 3
-10
-3
-3
-3
-3

ответ будет -12, а правильный -9. Происходит это потому, что current_min из-за отставания на шаг не успевает обновиться и вместо 3 магических чисел на отрезке у нас получается 4 магических числа - хвост, который каждый раз должен содержать магическое число, это магическое число не содержит, потому что не успевает обновиться.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 2 [только новые]





Сообщение: 91
ссылка на сообщение  Отправлено: 13.08.22 18:46. Заголовок: ап..


ап

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 3656
ссылка на сообщение  Отправлено: 17.08.22 19:03. Заголовок: Спасибо, автор обнов..


Спасибо, автор обновил свое решение.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1654
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет