Здравствуйте, olimp_20, Вы писали:
_>В разборе к этой задаче на сайте указано, что возможно применение бинарного поиска по ответу: бинарный поиск такого значения ожидания старта, при котором черепаха прибывает точно ко времени проростания последнего цветка. В таком случае время могло б быть log(N). Однако мои попытки реализовать я уже показал ранее и они не увенчались успехом. Вот если б бинарный поиск можно было б как-то применить....
Прочитал авторский разбор.
У него следующая идея:
1) если черепаха ... ползёт, ждёт у k-го цветка какое-то время wk, ест, ползёт дальше ... то это время wk можно перенести в самое начало старта.
2) если черепаха проползает мимо уже зацвётшего цветка, то ей, очевидно, выгоднее съесть его сейчас, чем на обратном пути
Таким образом, стартовая задержка однозначно определяет полное время, затраченное черепахой.
То есть, мы можем написать функцию T(w) — которая вычисляется за линейное время, забегом по массиву моментов цветения.
Автор полагает, что у этой функции на интервале w=[0 ; max(t)] должен быть один минимум.
При w=0 мы меньше всего тупим на старте, зато меньше всего едим на первом проходе.
При w=max(t) — едим вообще всё, зато тупим по-полной.
Если минимум действительно один, то найти его можно методом Ньютона, что, собственно, автор и предлагает.
Но беда в том, что функция пилообразная... Тут нужно покумекать.