TGViewer
CS Space CS Space @csspace · 2.98K subscribers
Post #320 4.17K
Быстрые и компактные структуры для RMQ ⬇️

Страница мероприятия
– 4 августа, вторник, 19:00 – 20:30
– Мраморный зал, ПОМИ РАН, наб. реки Фонтанки, 27, Санкт-Петербург
– Пожалуйста, не забудьте зарегистрироваться — это необходимое условие посещения

⭐️ О лекторе
Николай Мальковский — кандидат физико-математических наук; Principal Engineer, Chebyshev Research Center


📢 Анонс
Range minimum query — это довольно известная академическая задача, она важна и на практике, но не сама по себе. Часто она используется как рутина в алгоритмах типа LZ, суффиксных деревьев или поисковых индексов. У задачи есть несколько вариаций. Основная суть в том, что дан массив чисел, и нужно на произвольном подотрезке индексов искать минимум. Самый простой пример того, где такая задача может возникнуть — запрос к базе данных вида «какая максимальная зарплата сотрудников в возрасте от 30 до 40 лет?».

На семинаре я расскажу про эффективное решение статической задачи, то есть, когда массив известен заранее и не изменяется, но запросы заранее неизвестны. Наиболее эффективное решение такой вариации — это разреженные таблицы, их проблема в том, что они требуют O(n log n) памяти и, соответственно, применимы для размеров максимум ~10^7. Существует много подходов, как за счёт чуть более медленных запросов добиться использования O(n) памяти, включая классический алгоритм Фараха-Колтона — Бендера. Существуют также и succinct подходы, которые требуют ~2.5n бит памяти, но скорость ответа на запросы на практике у них уже заметно хуже. На семинаре я расскажу, как взять лучшее из обоих миров: два варианта, каждый из которых сравним по скорости ответа на запросы с разреженной таблицей, но при этом
— Первый вариант требует 1.05n дополнительных бит, но при этом нужно иногда подглядывать в исходный массив;
— Второй вариант требует 2.1n дополнительных бит, но заглядывать в исходный массив не нужно.
  • 🔥 9
  • ❤ 8
  • ⚡ 5
More from @csspace
  1. Sep 18, 2026Автоматическое построение PBR текстур для фотограмметрических моделей ⬇️ – Страница меропр…
  2. Sep 17, 2026Напоминаем про открытую лекцию Андрея Михайловича Райгородского по комбинаторике и теории…
  3. Sep 11, 2026Классические и современные задачи комбинаторики и теории графов ⬇️ – Страница мероприятия…
  4. Sep 5, 2026Открываем регистрацию на курс 🔽 Семантика языков программирования ⭐️ Лектор Дмитрий Булыч…
  5. Sep 3, 2026Открываем регистрацию на курс 🔽 Структурные параметры графов ⭐️ Лектор Данил Сагунов Коор…
  6. Sep 2, 2026Открываем регистрацию на курс 🔽 Алгоритмы в Git / Git Internals ⭐️ Лектор Даниил Орешнико…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →