ЛКЛ 2023 пройдёт с 30-го августа по 14-е сентября в Перми и предположительно с 10-го по 24-е августа в Армении!
Заполните все вступительные анкеты до 28 мая!

Вступительная работа

Чтобы попасть в лагерь, нужно выполнить вступительную работу. Те, кто хорошо сдал зачёт в прошлом году, участвовал в олимпиадах или уже поступил в ЛКШ в этом году, могут не решать вступительную, но всё равно должны заполнить анкеты. Вступительная работа в параллели D..A доступна до 23:55 московского времени 21-го мая. Анкеты и вступительная работа в параллель R доступны до 23:55 московского времени 28-го мая.

Вступительная работа в параллели D...A единая и распространяется на все площадки ЛКЛ.

Учебные параллели

По вступительной работе мы определяем ваш уровень владения алгоритмами, техникой программирования и решения задач. Поступающие близкого уровня объединяются в параллели. У каждой параллели своя учебная программа и свои вступительные задачи. Посмотрите на описания параллелей ниже, обратите внимание на список тем, изучавшихся в прошлом году. Вы можете поступить только в те параллели, которые соответствуют вашему возрасту. Также нельзя поступать в ту параллель, в которой вы уже учились (не относится к R), или в более младшую.

Выбор параллели

Решите, хотите вы поступать в одну из алгоритмических параллелей или в параллель робототехники R. Алгоритмические параллели условно упорядочены от младших к старшим, от D к A. Выберите наиболее младшую параллель из тех, в которых вы не знакомы со значительной частью программы. Вы должны владеть всеми или почти всеми темами всех предыдущих параллелей.

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

Формат вступительной

Поступающим в параллели C′...A нужно решить практические задачи по программированию. Их принимает автоматическая тестирующая система. Зарегистрируйтесь в ней. Если вы решали вступительную в прошлом году, можете использовать старый логин. В тестирующей системе вы найдёте условия задач, и туда же будете сдавать решения — программы на одном из допустимых языков программирования. Поддерживаются: C, C++, Python 2, Python 3, Free Pascal, Delphi, Java, Go и FreeBASIC. Учитываются только правильные решения, то есть проходящие все тесты. У параллелей D и R особый формат вступительной, смотрите их описание ниже.

Решение вступительной

Попробуйте решить задачи выбранной параллели. Ничего страшного, если у вас получится решить не все задачи. Сдайте то, что получилось — может быть, этого хватит для поступления. Если получается совсем плохо, попробуйте задачи более младшей параллели. Решайте вступительную самостоятельно! Нам интересно, как решаете задачи именно вы, а не ваши друзья, учителя или родители.

Зачисление

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

Поддержка

Узнать о том, как работать в тестирующей системе, и посмотреть примеры оформления программ вы можете в справке и FAQ. Прочитайте памятку участника краевой олимпиады. В ней разобраны частые ошибки решающих. Любые вопросы про вступительную работу и тестирующую систему задавайте по почте mail@sicamp.ru или в группе ВК.

Учебные параллели

D

6...7 классы

Основы программирования

Вы изучите

  • Основные принципы написания программ и работы в среде разработки.
  • Базовые типы данных и выражения языка программирования.
  • Базовые алгоритмы теории чисел, комбинаторики, теории графов.

Мы ожидаем, что вы

  • Умеете проводить простейшие математические рассуждения.
  • Знакомы с понятием алгоритма.
  • Не обязательно умеете программировать.
    Вступительная для параллели D

    Вступительная работа для параллели D состоит из семи теоретических задач и не требует умения программировать. Скачайте задачи вступительной. Нужно не только найти ответ к задаче, но и объяснить, почему он получается таким. Не страшно, если у вас получаются не все задачи. Оформите то, что получилось: возможно, этого хватит. Если какую-то задачу вы решили не до конца, всё равно оформите её. Это принесёт дополнительные очки.

    Оформите работу в Microsoft Word, Open Office или просто текстовым файлом. Можете оформить решение на бумаге, тогда отсканируйте или сфотографируйте его. Оформленную работу присылайте на почту d@sicamp.ru. В теме письма обязательно напишите ваши имя и фамилию. Вы можете отправить работу несколько раз, мы рассмотрим только последнюю версию.

Что изучали в ЛКЛ-2022
Работа со средой программирования. Ввод-вывод, работа с файлами. Целые типы данных, арифметические операции. Логический тип данных, логические операции. Стиль оформления программ. Циклы. Одномерные, многомерные массивы. Символы, строки. Написание функций, рекурсия. Признаки делимости. Остатки по модулю. Алгоритм Евклида. Квадратичные сортировки. Простые числа, делимость, факторизация числа за корень. Решето Эратосфена. Системы счисления. Понятие графа, его представление в программе.

C′

6...8 классы

Алгоритмы для начинающих

Вы изучите

  • Базовые алгоритмы теории чисел, комбинаторики, теории графов.
  • Базовые структуры данных.
  • Алгоритмы сортировки, в том числе быстрой.

Мы ожидаем, что вы

  • Владеете основами языка программирования: вводом-выводом, базовыми операторами и типами данных.
  • Имеете небольшой опыт решения задач, можете самостоятельно довести простейшие программы до рабочего состояния.

Вступительные задачи

  • Подарок на день рождения
  • Сложная комбинация
  • Логотип для ЛКЛ
  • Заготовка для открытки
  • Какой делитель наилучший?
Что изучали в ЛКЛ-2022
Простые числа, делимость, факторизация числа за корень. Решето Эратосфена. Стек. Очередь. Строки. Квадратичные сортировки. Бинарный поиск. Введение в динамическое программирование. Рекурсия. Комбинаторика: формулы для количества, перечисление всех элементов. Понятие графа, его представление в программе. Обход графа в глубину, в ширину. Сортировка слияниями.

C

7...9 классы

Базовые алгоритмы

Вы изучите

  • Базовые структуры данных.
  • Техники бинарного поиска, динамического программирования, хеширования.
  • Классические алгоритмы теории графов.

Мы ожидаем, что вы

  • Уверенно владеете основами языка программирования.
  • Имеете опыт решения задач.
  • Знаете базовые алгоритмы комбинаторики и теории чисел.

Вступительные задачи

  • Логотип для ЛКЛ
  • Заготовка для открытки
  • Какой делитель наилучший?
  • Красивая картина
  • Теория Крутых Чисел
Что изучали в ЛКЛ-2022
Стек. Очередь. Бинарный поиск. Введение в динамическое программирование. Наибольшая возрастающая подпоследовательность, наибольшая общая подпоследовательность. Куча, быстрая сортировка. Хеширование. Хеш-таблица. Понятие графа, его представление в программе. Обход графа в глубину, в ширину. Топологическая сортировка графа. Алгоритм Дейкстры. Алгоритм Флойда. Рекурсия, перечисление комбинаторных объектов. Определение комбинаторного объекта по номеру, и номера по объекту.

B′

7...10 классы

Практическое применение алгоритмов в олимпиадных задачах

Вы изучите

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

Мы ожидаем, что вы

  • Уверенно владеете основами языка программирования.
  • Знаете алгоритмы параллелей C′ и C.
  • Имеете опыт решения задач.

Вступительные задачи

  • Красивая картина
  • Теория Крутых Чисел
  • Сделай их различными
  • Дождь в Дрибурге
  • Экономия электроэнергии
Что изучали в ЛКЛ-2022
Сортировки. Жадные алгоритмы. Бинарный поиск. Тернарный поиск. События на прямой. Сканирующая прямая. Комбинаторика правильных скобочных последовательностей. Хеширование. Хеш-таблица. Обходы в глубину/в ширину на неявных графах. Алгоритм Дейкстры. Алгоритм Флойда. Алгоритм Форда-Беллмана. Техника двух указателей. Элементарная вычислительная геометрия: вектора, операции с ними, задание простейших геометрических объектов. Геометрия многоугольников, построение выпуклой оболочки множества точек.

B

8...10 классы

Алгоритмы и структуры данных

Вы изучите

  • Cтруктуры данных на основе деревьев.
  • Алгоритмы на строках и графах.
  • Продвинутые методы динамического программирования.
  • Задачи вычислительной геометрии.

Мы ожидаем, что вы

  • Уверенно владеете языком программирования.
  • Имеете опыт решения задач с применением алгоритмов.
  • Знаете основные алгоритмы на графах, алгоритм быстрой сортировки, основные структуры данных (стек, очередь, список, куча).
  • Уверенно владеете техниками перебора, динамического программирования.

Вступительные задачи

  • Сделай их различными
  • Дождь в Дрибурге
  • Экономия электроэнергии
  • Сила есть — ума не надо
Что изучали в ЛКЛ-2022
Дерево отрезков. Разреженные таблицы. Декартово дерево по явному и неявному ключу. Наибольшая возрастающая подпоследовательность, наибольшая общая подпоследовательность. Динамическое программирование по подотрезкам. Динамическое программирование по подмножествам. Динамическое программирование по поддеревьям. Продвинутые применения обхода в глубину: топологическая сортировка, поиск мостов и точек сочленения. Алгоритм Дейкстры. Алгоритм Флойда. Алгоритм Форда-Беллмана. Алгоритм Прима. Алгоритм Краскала. Система непересекающихся множеств. Элементарная вычислительная геометрия: вектора, операции с ними, задание простейших геометрических объектов. Геометрия окружностей. Геометрия многоугольников, построение выпуклой оболочки множества точек. Эффективный поиск пары ближайших точек. Хеширование. Хеш-таблица. Алгоритм Кнута-Морриса-Пратта, Z-функция. Бор. Расширенный алгоритм Евклида. Обращение элемента по простому модулю. Понятие первообразного корня по простому модулю.

A′

9...10 классы

Алгоритмы и структуры данных++

Вы изучите

  • Примение алгоритмов и техник параллели B к решению задач.
  • Продвинутые алгоритмы: игры на графах, паросочетания, динамическое программирование по профилю.

Мы ожидаем, что вы

  • Решали сложные задачи и участвовали в олимпиадах.
  • Знакомы с темами параллели B: деревом отрезков, строковыми алгоритмами, алгоритмами на графах.

Вступительные задачи

  • Сила есть — ума не надо
  • Лёня строит королевство
  • Cхема серверов
  • Легендарное списывание
Что изучали в ЛКЛ-2022
Динамическое программирование по подотрезкам. Динамическое программирование по подмножествам . Динамическое программирование по поддеревьям. Динамическое программирование по профилю и изломанному профилю. Практика решения сложных задач динамического программирования. Дерево отрезков. Дерево Фенвика. Декартово дерево. Применение структур данных вместе с техникой сканирующей прямой. Хеширование. Хеш-таблица. Алгоритм Кнута-Морриса-Пратта, Z-функция. Бор. Алгоритм Ахо-Корасик. Алгоритм Прима. Алгоритм Краскала. Система непересекающихся множеств. Паросочетания в двудольном графе, алгоритм Куна. Игры на ациклических графах. Ретроанализ. Игра в ним и функция Гранди. Геометрия окружностей. Геометрия многоугольников, построение выпуклой оболочки множества точек.

A

9...10 классы

Продвинутые алгоритмы и решение олимпиадных задач высокого уровня

Вы изучите

  • Самые продвинутые алгоритмы, встречающихся на школьных олимпиадах: например, потоки, LCA, центроидная декомпозиция, суффиксные структуры.
  • Решение контестов на время в условиях приближенным к реальным олимпиадам.

Мы ожидаем, что вы

  • Имеете значительный опыт решения задач и участия в олимпиадах.
  • Уверенно владеете алгоритмами параллели B, в том числе структурами данных.
  • Могли ранее обучаться в параллели A в ЛКЛ или ЛКШ — мы подстроим программу под ваши знания, возможно организуем несколько групп.

Вступительные задачи

  • Лёня строит королевство
  • Cхема серверов
  • Легендарное списывание
  • Еще одна задача на максимизацию

R

8...10 классы

Робототехника

Вступительная работа продлена до 23:55 московского времени 28-го мая!

Параллель для тех, кому интересна робототехника.

Мы расскажем вам об основах робототехники, а именно:

  • Общие законы управления, такие как ПИД-регулятор и другие, которые и по сей день служат фундаментом робототехники
  • Принципы навигации для роботов, то есть как определить их местоположение в мире и спланировать траекторию движения
  • Как стандартные алогоритмы в программировании повсеместно используются в робототехнике, например, как алгоритм Дейкстры используется в навигации
  • Основы кооперативной работы роботов
  • А также многое другое

Данный курс изучения во многом отличается от традиционных методов изучения робототехники в школах или школьных кружках, потому что этот курс гораздо ближе к "университетской" робототехнике. Однако, данный курс способен освоить и школьник. Здесь мы рассмотрим не только классные алгоритмы и методы в робототехнике, о которых вы скорее всего не слышали, но и реализуем их на практике. Скорее всего занятия будут делиться на лекционные и практические: на лекциях мы будем изучать новые алгоритмы и их обоснования, а на практике будем имплементировать эти алгоритмы на настоящих роботах.

Параллель R актуальна только для площадки ЛКЛ в Перми.

Мы ожидаем, что вы

  • Умеете писать код на Python и C++
  • Обладаете знаниями школьной математики
  • Имеете любознательность
  • Мы верим, что те, кто прошли параллель B' или выше в ЛКЛ или ЛКШ, обладают всем вышеперечисленным
    Вступительная для параллели R

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

    Подробная информация о вступительной работе располагается в данном репозитории

Бонусы

Параллель R

Если вы хотите поступить в параллель робототехники R, вам нужно выполнить вступительную работу для этой параллели в любом случае. Независимо от олимпиад и ЛКШ.

Участникам олимпиад

Поступившим в ЛКШ

Если вы поступили в ЛКШ, но по каким-то причинам не можете туда поехать, мы готовы зачислить вас параллель соответствующего уровня. Если вы хотите поехать в ЛКЛ после ЛКШ, вступительную вам решать тоже не нужно (параллель мы выберем одной из следующих по уровню, и возможно изменим её по результатам зачёта в ЛКШ), но вашего зачисления мы не гарантируем — нам хочется, чтобы как можно больше ребят имели возможность поучиться.

Освобождённые от вступительной по результатам зачёта ЛКЛ в прошлом году:

  • Альжанов Леонид
  • Антонова Анна
  • Бибиков Александр
  • Винокурова Елизавета
  • Гаев Владислав
  • Дженаков Георгий
  • Жуйкова Полина
  • Загоровский Владимир
  • Зубов Андрей
  • Кильметов Данил
  • Кильметова Алина
  • Лещинский Артём
  • Литвиновская Яна
  • Марьин Федор
  • Мошкина Алина
  • Нечаева Мария
  • Никишин Иван
  • Няшин Алексей
  • Ожегов Леонид
  • Поспелова Ольга
  • Рыжкова Милена
  • Трещева Олеся
  • Черепанов Кирилл
  • Шикова Олеся