Двоичный поиск [Binary search] Поиск ближайшего в массиве [Код 2]

Давайте научимся решать следующую задачу — в отсортированном массиве нужно быстро находить ближайший к числу x элемент (x меняется от запроса к запросу). Если бы нужно было находить элемент в точности равный x, то мы могли бы использовать хеш-таблицу. Но если элемента x в массиве нет, то хеш-таблица просто укажет это. Нам же в таком случае нужно решить следующие две задачи: Найти максимальный элемент, не больше чем x (ближайший к x слева) Найти минимальный элемент, не меньше чем x (ближайший к x справа) Выбрав из этих двух вариантов тот, который ближе к числу x мы решим задачу (так как все элементы левее и правее будет только дальше от x). Рассмотрим алгоритм бинарного поиска для решения первой задачи (максимальный элемент, не больший x). ✔ Лектор: Павел Маврин ✔ Основной сайт: https://codeforces.com ✔ Дополнительные домашние задания, описание к урокам и многое другое можно найти на сайте Codeforces: https://codeforces.com/problemset

Иконка канала Без воды про Телефон
12 подписчиков
12+
1 просмотр
6 дней назад
12+
1 просмотр
6 дней назад

Давайте научимся решать следующую задачу — в отсортированном массиве нужно быстро находить ближайший к числу x элемент (x меняется от запроса к запросу). Если бы нужно было находить элемент в точности равный x, то мы могли бы использовать хеш-таблицу. Но если элемента x в массиве нет, то хеш-таблица просто укажет это. Нам же в таком случае нужно решить следующие две задачи: Найти максимальный элемент, не больше чем x (ближайший к x слева) Найти минимальный элемент, не меньше чем x (ближайший к x справа) Выбрав из этих двух вариантов тот, который ближе к числу x мы решим задачу (так как все элементы левее и правее будет только дальше от x). Рассмотрим алгоритм бинарного поиска для решения первой задачи (максимальный элемент, не больший x). ✔ Лектор: Павел Маврин ✔ Основной сайт: https://codeforces.com ✔ Дополнительные домашние задания, описание к урокам и многое другое можно найти на сайте Codeforces: https://codeforces.com/problemset

, чтобы оставлять комментарии