• Olprog
  • Главная
  • Задачи
  • Решения
  • Пользователи
  • Контесты
  • Мой прогресс
    >
    • Status
Войти  или  Зарегистрироваться

  • Блог
  • События

Новости

Динамика и Лис

montes332 опубликовано на 25 Март 2026, 2:50 п.п. 0

Лисы тут не причем!

На эту неделю у нас практика к теории «Наибольшая возрастающая подпоследовательность».

Это одна из ключевых тем в динамическом программировании и задачах на последовательности. На ней очень хорошо видно, как одна и та же идея развивается от простого квадратичного решения к более быстрому подходу, а заодно тренируется важный навык: выделять в массиве структуру, с которой можно работать не только перебором, но и через более умные методы.

Теория:

  • Наибольшая возрастающая подпоследовательность — https://olprog.ru/articles/olprog/dp/lis/

Практика к теме:

  • Тропа разведчика — https://judje.olprog.ru/problem/scouttrail
  • Башни сигнала — https://judje.olprog.ru/problem/signaltowers
  • Хранители музейных маршрутов — https://judje.olprog.ru/problem/museumroutes
  • Контейнеры для музея — https://judje.olprog.ru/problem/nestedpackages
  • Коллекция для витрины — https://judje.olprog.ru/problem/collectorsshowcase

Эта подборка подойдёт тем, кто хочет не просто познакомиться с темой, а действительно научиться распознавать задачи, связанные с возрастающими подпоследовательностями и похожими идеями.

Во время решения полезно обращать внимание на несколько вещей:

  • что именно нужно искать: непрерывный участок, подпоследовательность или более общую структуру;
  • какое состояние удобно хранить в динамике;
  • когда достаточно решения за O(n^2), а когда уже стоит думать про ускорение;
  • как меняется задача, если нужно найти не только длину, но и восстановить ответ или обработать более сложные ограничения.

Рекомендую идти так: сначала внимательно прочитать теорию, затем попробовать самостоятельно определить, какие из задач решаются через базовую динамику, а где уже проявляются идеи, близкие к классической LIS. Даже если решение не находится сразу, полезно хотя бы выписать, что будет означать dp[i] и откуда может получаться переход.

Такие задачи особенно полезны тем, что учат видеть не только готовую формулу, но и саму структуру решения. Именно на этой теме часто появляется понимание, как из перебора всех вариантов рождается полноценная динамика.

Удачи в решении!

Жду ваши результаты, вопросы и впечатления от задач.

Динамика и монеты

montes332 опубликовано на 25 Март 2026, 2:48 п.п. 0

На эту неделю у нас практика к теории «Задача о монетах».

Это одна из самых базовых и важных тем в динамическом программировании: здесь хорошо видно, как формулируются состояния, как строятся переходы и как одна и та же идея может использоваться и для поиска оптимального ответа, и для подсчёта количества способов.

Теория:

  • Задача о монетах — https://olprog.ru/articles/olprog/dp/coin-problem/

Практика к теме:

  • Монеты для экспедиции — https://judje.olprog.ru/problem/expeditioncoins
  • Чайная лавка мастера — https://judje.olprog.ru/problem/teablends
  • Каменные плиты — https://judje.olprog.ru/problem/stoneplates
  • Городские пропуска — https://judje.olprog.ru/problem/seasonpasses
  • Склад жетонов — https://judje.olprog.ru/problem/warehousetokens

Эта подборка подойдёт тем, кто хочет не просто прочитать теорию, а сразу закрепить её на задачах. Во всех этих задачах полезно обращать внимание на одно и то же:

  • что именно является состоянием динамики;
  • как выразить ответ через более маленькие состояния;
  • в каком порядке удобно считать значения;
  • что именно хранить в массиве: минимум, количество способов или другой параметр.

Рекомендую идти именно в таком порядке: сначала внимательно прочитать теорию, затем попробовать самостоятельно выписать идею перехода для каждой задачи, и только после этого писать код. Такой подход помогает не просто решить конкретную задачу, а действительно почувствовать, как работает динамическое программирование.

Если в какой-то задаче не получается сразу увидеть решение — это нормально. На таких задачах как раз и формируется навык: выделять состояние, замечать повторяющиеся подзадачи и превращать рекурсивную идею в табличную динамику.

Удачи в решении!

Жду ваши результаты, вопросы и впечатления от задач.

Дорешка олимпиады Олмат

опубликовано на 23 Март 2026, 3:07 п.п. 0

Мы опубликовали дорешку олимпиады, которую проводили ранее. Теперь можно спокойно пройтись по задачам ещё раз, дорешать то, что не получилось во время тура, и разобрать идеи уже без спешки. В каждой задаче вы сможете публично открытый разбор.

Задачи разделены на два уровня.

Уровень «Новички»

  • Фильтрация аномалий датчиков — https://judje.olprog.ru/problem/filtero1
  • Контроль возврата автономного робота — https://judje.olprog.ru/problem/roboto2
  • Проверка корректности пакета спутниковых данных — https://judje.olprog.ru/problem/sputniko3
  • Баланс нагрузки в микроэнергосети — https://judje.olprog.ru/problem/energyo4
  • Поиск самого длинного стабильного фрагмента — https://judje.olprog.ru/problem/dnao5

Сложный уровень

  • Оптимизация активации нейронного блока — https://judje.olprog.ru/problem/neuroo6
  • Навигация беспилотника в городской сетке — https://judje.olprog.ru/problem/rovero7
  • Восстановление связности спутниковой группировки — https://judje.olprog.ru/problem/spaceo8
  • Минимизация пиковой нагрузки энергосети — https://judje.olprog.ru/problem/energyo9
  • Сравнение геномов (редакционное расстояние) — https://judje.olprog.ru/problem/dnao10

Это хороший момент, чтобы:

  • дорешать пропущенные задачи;
  • ещё раз пройтись по тем идеям, которые на туре не удалось быстро увидеть;
  • сравнить свои решения с тем, как вы бы подошли к задачам уже после соревнования;
  • закрепить темы от базовой реализации до более содержательных алгоритмических идей.

Даже если во время олимпиады не всё получилось, дорешка — это как раз тот этап, где часто происходит самый полезный рост. Именно здесь лучше всего видны собственные слабые места: где не хватило аккуратности, где — техники, а где — уверенности в выборе метода.

Удачи в дорешивании!

Ждём ваши вопросы по тем задачам, которые показались самыми интересными или самыми сложными.

Недельный усложнённый тур Март-26-3

montes332 опубликовано на 19 Март 2026, 7:38 д.п. 0

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

В контест вошли задачи:

  • График полезных дней — https://judje.olprog.ru/problem/campusroutine
  • Кристаллические наборы — https://judje.olprog.ru/problem/crystalbundles
  • Ярмарочные стойки — https://judje.olprog.ru/problem/festivalbooths
  • Совместимость наставников — https://judje.olprog.ru/problem/mentorcompatibility
  • Фестиваль премьер — https://judje.olprog.ru/problem/festivalscreening
  • Городской индекс устойчивости — https://judje.olprog.ru/problem/citymedianupgrade
  • Выравнивание зарядов — https://judje.olprog.ru/problem/zerochargealignment
  • Витрина прототипов — https://judje.olprog.ru/problem/prototypeshowcase
  • Кратные последовательности — https://judje.olprog.ru/problem/divisiblesequences
  • Цепочка волшебных ингредиентов — https://judje.olprog.ru/problem/magicingredientchain

Этот контест подойдёт тем, кто хочет:

  • потренировать распознавание идей в задачах;
  • поработать с более содержательными ограничениями и более серьёзной логикой решения;
  • научиться увереннее проходить задачи среднего уровня.

Рекомендуем решать в формате полноценного контеста: выделить себе 2–3 часа, не смотреть разборы во время решения, стараться выбирать задачи по ощущениям от условий и фиксировать те места, где возникли трудности. После этого особенно полезно дорешать оставшиеся задачи и разобрать, где именно не хватило идеи, аккуратности или техники.

Удачи в решении!

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

Недельный простой тур Март-26-3

montes332 опубликовано на 18 Март 2026, 8:19 д.п. 0

На эту неделю подготовил простой тренировочный контест — хороший набор задач, чтобы спокойно закрепить базовые темы, потренировать внимательность и набить руку на аккуратной реализации.

В контест вошли задачи:

  • Фонарики для тропы — https://judje.olprog.ru/problem/traillanterns
  • Сигнальная вывеска — https://judje.olprog.ru/problem/signalbanner
  • Обратный отсчёт терминала — https://judje.olprog.ru/problem/terminalcountdown
  • Значок удачи — https://judje.olprog.ru/problem/luckybadge
  • Дуэль табло — https://judje.olprog.ru/problem/scoreboardduel
  • Тайное послание — https://judje.olprog.ru/problem/mirrormessage
  • Коридор проверки — https://judje.olprog.ru/problem/corridorcheck
  • Год без повторов — https://judje.olprog.ru/problem/distinctdigitsyear
  • Переполненный шаттл — https://judje.olprog.ru/problem/shuttlecapacity
  • Сигнал от тестовой группы — https://judje.olprog.ru/problem/verdictsignal

Рекомендуем решать в формате мини-контеста: засечь себе 1–2 часа, не смотреть разборы и попытаться набрать максимум задач самостоятельно. После этого полезно дорешать оставшиеся задачи и разобрать все места, где возникли ошибки. К задачам закреплены разборы. Удачи в решении!

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

Первый практикум по теме «Генерация подмножеств» опубликован

montes332 опубликовано на 15 Март 2026, 10:52 д.п. 0

С радостью публикуем первый практикум по теме «Генерация подмножеств» на платформе.

Это одна из самых важных базовых тем в полном переборе. Именно с неё обычно начинается уверенное понимание того, как:

  • перебирать все возможные наборы элементов;
  • строить решения через рекурсию;
  • использовать битовые маски для представления подмножеств;
  • переходить от простой генерации вариантов к полноценным олимпиадным задачам.

Перед практикой рекомендуем сначала изучить теорию:

Теория: https://olprog.ru/articles/olprog/complete-search/subsets/

В практикум вошла последовательность задач, расположенных в порядке — от более простых идей к более содержательным и комбинированным:

  1. Пустынный караван https://judje.olprog.ru/problem/desert
  2. Коллекция магических артефактов https://judje.olprog.ru/problem/artifacts
  3. Коллекции артефактов https://judje.olprog.ru/problem/relicsets
  4. Сбор Букетов https://judje.olprog.ru/problem/bouquetpick
  5. Репетиция фестиваля https://judje.olprog.ru/problem/festivalrehearsal
  6. Команды для экспедиции https://judje.olprog.ru/problem/expeditionteams
  7. Хранители равновесия https://judje.olprog.ru/problem/keepersofbalance

Если вы только начинаете разбираться с полным перебором, совет простой:

  • сначала прочитайте теорию;
  • затем решайте задачи строго по порядку;
  • после каждой задачи пробуйте сформулировать, какой именно способ перебора там использовался — рекурсивный или через маску.

Надеюсь, этот набор задач поможет многим не просто понять тему, а действительно начать уверенно применять её в решениях.

Удачи в решении!

Добро пожаловать!

montes332 опубликовано на 14 Март 2026, 10:46 д.п. 1

Всем добрый день. Платформу можно считать открытой - начнем потихоньку перенос всей накопленной инфры и задач.

  • «
  • 1
  • 2
  • »

Текущие соревнования

Олмат - итоги 26-baz1
Заканчивается на 6 дней 01:03:57.

Поток комментариев

  • montes332 → Распределение рейсов по автобусам
  • альберт → Закупка двух типов товаров
  • montes332 → Цифровые превращения
  • Ya_Moshenkov_Yaroslav → Маршрут экспедиции
  • Ya_Moshenkov_Yaroslav → Маршрут экспедиции
  • Kazakov_Dmitrii → Цифровые превращения
  • montes332 → Лес древних духов
  • Наталья → Лес древних духов
  • Ya_Moshenkov_Yaroslav → Тревога в железной крепости
  • montes332 → Тренировка по графам
RSS / Atom

Новые проблемы

  • Рюкзак туриста
  • Платформы железнодорожной станции
  • Точка равновесия коромысла
  • Сколько задач решить за ночь
  • Сколько дней ждать роста цены
  • Робот в лабиринте
  • Возрастающая коллекция монет
RSS / Atom

работает на базе DMOJ |