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