Алгоритмическое программирование

2-7 ноября 2021

отборы на интенсивы

Telegram Чат

Онлайн-курсы

Основы C/C++ для спортивного программирования

C и C++ являются наиболее подходящими языками для спортивного программирования. Курс направлен на участников, не имеющих опыта работы с данными языками. Программа курса включает в себя знакомство с базовыми понятиями языка: переменные, типы данных, условные операторы, циклы, функции и многое другое. Советуем пройти этот курс, если вы хотите в будущем пройти другой наш онлайн-курс «Быстрый старт в спортивное программирование», для прохождения которого знание языка С++ не является обязательным — вы можете успешно его пройти, зная какой-нибудь другой язык, однако некоторые задачи курса нельзя сдать на других языках программирования.

Переменные

Первая программа, переменные, считывание

Подводные камни

Локальный запуск

Символьный тип данных

Типы данных с плавающей точкой

Логический тип данных

Условные операторы и циклы

Логические операции

Условный оператор

Циклы while, do-while

Цикл for

Массивы и функции

Массивы

Многомерные массивы

Квадратичные сортировки

Квадратичные сортировки, сортировка вставками

Функции

Рекурсия

Сложные структуры данных

Указатели

Передача параметров в функцию: указатели и ссылки

Структура: конструкторы и деструкторы

Перегрузка операторов

Vector

String

Битовые операции и системы счисления

Быстрое считывание

Системы счисления

Битовые операции

Хранение целых чисел в компьютере

Хранение добрых чисел в компьютере

Быстрый старт в спортивное программирование

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

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

Асимптотика

Линейные алгоритмы

Бинарный поиск

Теория чисел

Целые типы данных, решето Эратосфена

Операции по модулю

Алгоритм Евклида

Бинарное возведение в степень и деление по модулю

Динамическое программирование

Определение

Линейное динамическое программирование

Двумерное динамическое программирование

Восстановление ответа

Задача о рюкзаке

Теория графов

Базовые определения теории графов

Обход в глубину

Обход в ширину

Быстрый старт в спортивное программирование. Часть 2

Курс поможет вам детальнее познакомиться с классическими алгоритмами и структурами данных, необходимых для успешного участия в олимпиадах. Рассматриваются важнейшие структуры, имеющие множество приложений, среди которых стеки, очереди, кучи и встроенные контейнеры в языке C++. Также подробно изучается тема сортировок массива данных и различные подходы к реализации таких сортировок (вместе с теоретическими нижними оценками их быстродействия).

Простейшие структуры данных

Односвязные и двухсвязные списки. Операторы new и delete

Стек. Функции malloc, realloc, free

Очередь. Стек и очередь с минимумом

Дек. Персистентные структуры данных

Кучи

Структура данных «Куча»

Вспомогательные процедуры 1

Вспомогательные процедуры 2

Операции

HeapSort

Технические сложности

Сортировки

Сортировка слиянием

Подсчет инверсий

Сортировки сравнениями

Поразрядная сортировка

Введение в алгоритмы STL

QuickSort и поиск K-ой порядковой статистики

Основные алгоритмы STL: std::sort

Основные алгоритмы STL: около-сортировки и линейный поиск

Бинарный поиск и «сложные» алгоритмы

Контейнеры STL

Решение задач с использованием STL

Отборы на интенсивы

2-7 ноября 2021

5-часовой контест
13 задач по программированию

Интенсивы

15-19 ноября 2021

Любой желающий после прохождения отбора может принять участие в обучающих онлайн-интенсивах по программированию! Интенсивы пройдут в трех дивизионах по уровню сложности (С, D и E) в формате онлайн-лекций, контестов и онлайн-разборов. За пять дней предстоит осилить 10 часов лекционных занятий и 15 часов практических. Темы: вычислительная геометрия, динамическое программирование, теория чисел, особенности работы с алгоритмами и другие. Лекторы курса — преподаватели крупнейших вузов России (МФТИ, ДВФУ).

15-19 ноября 2021
>10 лекций
онлайн/очно

Очные точки

Долгопрудный
Иванов Иван Иванович
Иванов Иван Иванович
должность
mail@gmail.com
Долгопрудный
Сидорова Светлана Викторовна
Сидорова Светлана Викторовна
должность
mail@gmail.com
Москва
Лядова Анна Михайловна
Лядова Анна Михайловна
должность
mail@gmail.com

Чемпионат RuCode

21 ноября 2021

Чтобы принять участие в чемпионате, необходимо
1

Собрать команду до трёх человек

2

Каждому зарегистрироваться на сайте Rucode.net

3

Капитану зарегистрировать команду и добавить в нее тиммейтов

4

Присоединиться к чемпионату 21 ноября и решить максимум задач!

Программа

10:00 — 10:20
Открытие чемпионата
10:00 — 10:20
Вступительная речь методистов
10:00 — 10:20
Выступление участников задачи ГК «Роскосмос»
10:00 — 10:20
Подведение итогов по задаче
10:00 — 10:20
Перерыв
10:00 — 10:20
Выступление участников задачи DLS
10:00 — 10:20
Подведение итогов по задаче

Куратор

Владимир Куренков
Владимир Куренков
@vvk101

По методическим вопросам фестиваля RuCode 4.0

Методический блок

Олег Христенко
Олег Христенко

Главный судья Moscow Workshops
Технический координатор Олимпиадных школ, Moscow Workshops Juniors и Moscow Workshops
Сопредседатель жюри Moscow Programming Contest

Филипп Рухович
Филипп Рухович

Заслуженный тренер Moscow Open Trainings
Методист отделения информатики «Олимпиадных школ МФТИ»
Дважды призер и победитель ВСоШ по информатике
Победитель личной Открытой олимпиады МФТИ
Четырехкратный призер полуфинала ACM ICPC
Победитель KPI-Open 2013
Победитель Открытого чемпионата по программированию в г. Гродно
Финалист ACM ICPC 2014 и Russian Code Cup 2014

Юрий Яровиков
Юрий Яровиков

Заместитель заведующего лабораторией инноватики МФТИ
Руководитель Школы глубокого обучения МФТИ
Data Scientist в Сбербанке

Александр Кленин
Александр Кленин

Преподаватель ДВФУ
Директор четвертьфинала ICPC на Дальнем Востоке
Научный руководитель Тихоокеанских школ по информатике

Владимир Куренков
Владимир Куренков

Заведующий кафедры информатики Лицея НИУ ВШЭ
Преподаватель курса «Разработка приложений под Android» в IT школе Samsung

Татьяна Гайнцева
Татьяна Гайнцева

Исследователь в лаборатории LAMBDA (НИУ ВШЭ)
Исследователь в группе Video Intelligence компании Huawei
Преподаватель Deep Learning School (МФТИ)

Мария Тихонова
Мария Тихонова

Преподаватель Высшей Школы Экономики
Куратор проектов на студенческих программах в Сириусе
Data Scientist в Сбербанке

Владимир Тарасов
Владимир Тарасов

Профессор кафедры программного обеспечения ИжГТУ
Руководитель Центра подготовки программистов олимпийского резерва
Тренер команд ИжГТУ
Руководитель и организатор Discover Izhevsk Winter 2020

Максим Спорышев
Максим Спорышев

Старший преподаватель ДВФУ 2015-2020
Тренер команд по спортивному программированию ДВФУ 2015-2020
Призер NEERC ICPC 2011-2014
Победитель и призер Robosub и Singapore AUV Challenge 2013-2017

Илья Степанов
Илья Степанов

Семинарист по курсам сложности вычислений и алгоритмов МФТИ
Бронзовый призёр ICPC в 2019 от МФТИ
Студент магистратуры МФТИ на кафедре дискретной математики

Владислав Невструев
Владислав Невструев

Преподаватель Олимпиадных школ МФТИ, Летней компьютерной школы
Преподаватель проекта «Московские тренировки»
Автор задач Moscow Programming Contest, Когнитивные технологии, Муниципальный этап ВсОШ по информатике

Олег Христенко
Филипп Рухович
Александр Кленин
Владимир Куренков
Владимир Тарасов
Максим Спорышев
Илья Степанов
Владислав Невструев
Еще