Недавно изучил бинарный поиск и научился применять его в тривиальных задачах, но решил отработать на практике бинпоиск по ответу. В поиске по тегам на сайте выбрал "бинарный поиск", открываю первую попавшуюся задачу: задача1 и просто не понимаю, под каким градусом нужно развернуться, чтобы применить тут бинпоиск. Настоящее решение задачи это в худшем случае O(N), где N — длина наименьшей строки. Бинпоиском это решение можно разве что усложнить и запутать. Решение в этом случае буквально выглядит так: ~~~~~ int l = .., r = ... while (l < r) { ...Нормальное решение, которое было без бинпоиска... }
~~~~~
Хорошо допустим просто одна такая задача попалась. Но я открываю следующую задачу: задача2 История повторяется. Могу привести ещё десятки подобных задач, в которых бинпоиск это не просто один из ответов, а цикл while, наложенный на другой ответ.
Конечно, мы ведь можем решить это именно так, согласен. Но если так рассуждать, то A + B тоже можно решить этим алгоритмом. Хороший набор задач, где без двоичного поиска на самом деле приходится туго, есть на сайте informatics, но задач там крайне мало и хотелось бы найти такого рода задачи на этом сайте, при этом не тратя лишнее время на осознание, что бинпоиском решать эту задачу это как из пушки стрелять по воробьям.