19 августа - 19 октября 2024
Онлайн-курсы, интенсивы, лекции, контест и финал - чемпионат
TelegramC и C++ являются наиболее подходящими языками для спортивного программирования. Курс направлен на участников, не имеющих опыта работы с данными языками. Программа курса включает в себя знакомство с базовыми понятиями языка: переменные, типы данных, условные операторы, циклы, функции и многое другое. Советуем пройти этот курс, если вы хотите в будущем пройти другой наш онлайн-курс «Быстрый старт в спортивное программирование», для прохождения которого знание языка С++ не является обязательным — вы можете успешно его пройти, зная какой-нибудь другой язык, однако некоторые задачи курса нельзя сдать на других языках программирования.
Первая программа, переменные, считывание
Подводные камни
Локальный запуск
Символьный тип данных
Типы данных с плавающей точкой
Логический тип данных
Логические операции
Условный оператор
Циклы while, do-while
Цикл for
Массивы
Многомерные массивы
Квадратичные сортировки
Квадратичные сортировки, сортировка вставками
Функции
Рекурсия
Указатели
Передача параметров в функцию: указатели и ссылки
Структура: конструкторы и деструкторы
Перегрузка операторов
Vector
String
Быстрое считывание
Системы счисления
Битовые операции
Хранение целых чисел в компьютере
Хранение дробных чисел в компьютере
Курс поможет войти в мир спортивного программирования. Рассматриваются базовые теоретические и практические аспекты, необходимые для успешного участия в состязаниях по спортивному программированию любого уровня: от базовых линейных алгоритмов до основ теории графов и их обходов. Также рассматриваются вопросы асимптотического анализа и оценки эффективности программы.
Асимптотика
Линейные алгоритмы
Бинарный поиск
Целые типы данных, решето Эратосфена
Операции по модулю
Алгоритм Евклида
Бинарное возведение в степень и деление по модулю
Определение
Линейное динамическое программирование
Двумерное динамическое программирование
Восстановление ответа
Задача о рюкзаке
Базовые определения теории графов
Обход в глубину
Обход в ширину
Курс поможет вам детальнее познакомиться с классическими алгоритмами и структурами данных, необходимых для успешного участия в олимпиадах. Рассматриваются важнейшие структуры, имеющие множество приложений, среди которых стеки, очереди, кучи и встроенные контейнеры в языке C++. Также подробно изучается тема сортировок массива данных и различные подходы к реализации таких сортировок (вместе с теоретическими нижними оценками их быстродействия).
Односвязные и двухсвязные списки. Операторы new и delete
Стек. Функции malloc, realloc, free
Очередь. Стек и очередь с минимумом
Дек. Персистентные структуры данных
Структура данных «Куча»
Вспомогательные процедуры 1
Вспомогательные процедуры 2
Операции
HeapSort
Технические сложности
Сортировка слиянием
Подсчет инверсий
Сортировки сравнениями
Поразрядная сортировка
QuickSort и поиск K-ой порядковой статистики
Основные алгоритмы STL: std::sort
Основные алгоритмы STL: около-сортировки и линейный поиск
Бинарный поиск и «сложные» алгоритмы
Контейнеры STL
Решение задач с использованием STL
Курс поможет войти в мир спортивного программирования. Слушатели познакомятся с теорией графов на более глубоком практическом уровне для успешного решения задач по спортивному программированию. Пройдя этот курс, вы научитесь решать задачи по теории графов для участия в олимпиадных программах по спортивному программированию. Узнаете или повторите, что такое графы, где в жизни применяется теория графов, как и зачем теорию графов применяют математики и программисты.
Основные понятия теории графов
Матрица смежности. Список ребер
Упорядоченный список дуг
Список смежности и поиск компонент связности
Дерево
Список предков и поиск цикла в графе
Подсчет высоты и диаметра дерева
Обход в глубину на стеке
Волновой алгоритм обхода графа
Поиск в ширину для неединичных ребер
Алгоритм Дейкстры
Алгоритм Беллмана-Форда
Алгоритм Левита
Поиск цикла отрицательного веса
Алгоритм Флойда-Уоршелла
14-31октября
Любой желающий может принять участие в обучающих онлайн-интенсивах по программированию! Интенсивы пройдут в четырёх дивизионах по уровню сложности (С, D, E и F) в формате онлайн-лекций, контестов и онлайн-разборов. За пять дней предстоит осилить более 10 часов лекционных занятий и 15 часов практических. Темы: вычислительная геометрия, динамическое программирование, теория чисел, особенности работы с алгоритмами и другие. Лекторы курса — преподаватели крупнейших вузов России (МФТИ, ДВФУ).
19 октября
Зарегистрироваться на сайте
Заполнить опросы, получить логин и пароль для контеста
Подготовиться к чемпионату, пройдя интенсивы
Присоединиться к чемпионату 19 октября и решить максимум задач! Ссылки на контесты будут в ЛК