Алгоритмическое программирование — с нуля до задач, которые решают единицы.

Индивидуальный план для каждого ученика. Разбираем идеи, а не заучиваем решения — понял принцип, применишь его в любой задаче.

Python C++ Zoom Телемост
solve.py tests ступень B · умение 3
Задача

Массив из n чисел и q запросов «сумма на отрезке [l, r]». n, q ≤ 2·10⁵.

сложностьO(n·q) = 4·10¹⁰
Мысль. В лоб: на каждый запрос проход по отрезку. Сорок миллиардов операций.
Идея. Префиксные суммы один раз. Каждый запрос за O(1).
тест 1 · n = 5OK 0.03 s
тест 7 · n = 10⁴OK 0.08 s
тест 14 · n = 2·10⁵OK 0.41 s
Accepted · B3 проверено
Для кого

Подходит

  • 6–11 класс. Владеет азами или готов начать с нуля.
  • Ребёнок сам хочет разобраться, а не просто сдать.
  • Родитель готов раз в месяц смотреть на прогресс, даже медленный.

Не подходит

  • Младше 6 класса — рано для этого формата.
  • Интересно родителю, а ребёнку пока нет.
  • Нужен результат к пятнице, а не система на месяцы.
Карта умений

Не оценка, а конкретное умение.

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

A

Пишет код

6 умений
  • Программа с вводом и выводом без шаблона.
  • Перебирает варианты циклом, отбирает условием.
  • Массив и строка: поиск, подсчёт, разворот, срез.
  • Словарь: считает повторы и группирует.
  • Функции вместо копирования кода.
  • Находит свою ошибку тестом, а не на глаз.
B

Думает алгоритмами

7 умений
  • Сортирует и объясняет, почему n log n.
  • Бинарный поиск без ошибок на границах, в том числе по ответу.
  • Префиксные суммы и два указателя: квадрат сводит к линии.
  • Перебор с рекурсией и отсечениями.
  • Оценивает сложность до кода: пройдёт ли по времени.
  • Простая динамика: состояние и переход.
  • Жадный выбор: когда работает, а когда врёт.
C

Выбирает инструмент

6 умений · C++
  • Динамика с восстановлением ответа и на подотрезках.
  • Графы: обходы, компоненты, кратчайшие пути.
  • Структура под задачу: стек, очередь, множество, дерево Фенвика, СНМ.
  • C++ в лимитах времени и памяти.
  • Читает чужое решение и находит ошибку.
  • Доказывает корректность: инвариант, границы.
D

Решает сложное

5 умений
  • Дерево отрезков с модификациями.
  • Строки: хэши, z‑функция, префикс‑функция.
  • Теория чисел и комбинаторика по модулю.
  • Геометрия на целых числах.
  • Стратегия: три часа на пять задач и когда бросить.
Как проходит

Шестьдесят минут, из них тридцать пять пишет ученик.

60 минут
  1. 10 минРазбор домашних
  2. 10 минОбъясняю новую тему: идея и зачем она нужна
  3. 20 минУченик решает две‑три задачи, я задаю вопросы
  4. 15 минЗакрепляем: решает похожую задачу, помогаю если застрял
  5. 5 минПлан до следующего занятия

Домашние проверяет система, код читаю я. «OK» не значит «хорошо».

Кто ведёт

Как я учу.

Сначала объясняю идею и показываю, где ломается решение в лоб. Дальше код пишет ученик, а я задаю вопросы. Ошибка разбирается до причины, а не до правильного ответа. Домашние читаю сам, построчно. Раз в пять занятий отправляю родителю карту, даже если клетки пустые.

Разбор одной задачи. Экран и голос, без лица

Четыре минуты, как я объясняю. На пробном занятии увидимся вживую.

Цена
По одному
2 000 ₽занятие

Платите за каждое занятие отдельно. Остановиться можно в любой момент.

Пакет 10 занятийвыгоднее на 2 000 ₽
18 000 ₽1 800 ₽ за занятие

Оплата вперёд, занятия действуют 12 недель. Обычно берут после пробного.

Первое занятие пробное и бесплатное. Одно занятие в неделю — это около 8 000 ₽ в месяц, два — около 16 000.

  • Обратная связь родителю каждые 5 занятийвключено
  • Проверка домашних, читаю код личновключено
  • Чек самозанятогопосле каждой оплаты
Пробное занятие

Первое занятие — пробное и бесплатное.

Час в Zoom или Телемосте. Идёт как обычное занятие: сначала смотрю, что ребёнок уже умеет, потом разбираем первую тему.

  • Пойму, что он умеет и как думает, а не только что знает.
  • Разберём одну тему целиком — сразу видно, как идут занятия.
  • Скажу, с чего начинать, и покажу план на первые двенадцать недель.
  • Если заниматься не стоит — скажу прямо и объясню почему.

Отвечаю лично в течение дня, без рассылок и звонков.

Честные ответы

Новая задача, пятнадцать минут, без подсказок. Решил и объяснил, почему верно, значит проверено. Задача и код прилагаются к отчёту. «Прошли на занятии» проверкой не считается.

Ступень B это уровень муниципального этапа и задач на программирование в ЕГЭ, ступень C это региональный этап и отбор в Сириус. Готовлю к любому из них по запросу семьи. Но мерю умения, а не медали: медаль зависит от соперников, умение только от ребёнка.

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

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

Начинаем на том, что знает ребёнок. На ступени C переходим на C++, это отдельное умение и три‑четыре недели плана.

Читаю код каждой домашней и проверяю каждое умение лично. Беру столько, сколько успеваю прочитать.

Тогда только пробное занятие, оно бесплатное. За час видно, загорается ли он от задачи. Если нет, скажу прямо — и это сэкономит вам восемнадцать тысяч за пакет.