Бинарный поиск, программирование

Как узнать что задача на бинарный поиск и как его можно использовать?

Обычно в таких делах решает опыт, решая задачи на бинпоиск ты начинаешь встречать всё меньше и меньше новых идей использования этого алгоритма, так что рано или поздно ты начнёшь понимать это автоматически с помощью своего мозга, ну а если задача сложная то иногда можно попробовать подумать от обратного, задай вопрос “Эта задача на тему X?”, и попытайся подумать как можно применить X в задаче.

Как я понял ты имеешь ввиду способы применения в решении задач.

  1. Ты просто умеешь оценивать слева ответ находится или справа от x, и с помощью этого приближаешься к ответу.
  2. Ты пытаешься максимизировать значение x(выполняется то что если ты можешь получить ответ x то ты сможешь получить любой ответ от 1 до x), в этом случае ты пытаешься посмотреть можно ли собрать ответ x, иногда для этого используешь всякие жадности или конструктивки.
  3. Обратный случаю 2.
  4. Ты бинаришь какое-нибудь значение для подсчёта, например тебе нужно построить массив a который должен подходить под определённые критерии, ну и ты берёшь и предполагаешь что все элементы a меньше или равны значения которое ты бинаришь. И пытаешься построить такой массив.

Ну по идее способов применения наверн много, и я не смогу вспомнить и перечислить всё, но решая задачи ты постепенно наберёшься опыта и научишься применять его в разных ситуациях. Можно порешать задачи по бинарному поиску из codeforces EDU чтобы получить базу.

1 симпатия