Алгоритмы на графах и динамическое программирование 2026: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 59: | Строка 59: | ||
| Min-cost flow. Задача о назначениях | | Min-cost flow. Задача о назначениях | ||
|} | |} | ||
== Коммуникация == | |||
Ссылка на чат курса в мессенджере (ближе к старту семестра) | |||
== Прогресс студентов == | |||
Ссылка на таблицу студентов с оценками (ближе к старту семестра) | |||
== Система оценивания == | |||
В течение семестра проводится '''6 контестов''', в каждом из которых одна задача выполняется с последующим '''код-ревью'''. | |||
==Критерии оценивания и формы контроля успеваемости== | |||
По задачам на ревью опрелеляется верхняя граница оценки(далее X): | |||
Если пройдено | |||
<br> Для порога уд. 4 нужно пройти(получить approve) 3, | |||
<br> Для порога хор. 7, нужно пройти 4, | |||
<br> Для порога отл. 8-9, нужно пройти 5 | |||
<br> Для порога отл. 10, нужно пройти 6. | |||
=== Контрольные работы === | |||
В течение семестра проводится '''2 контрольные работы'''. За каждую контрольную можно получить от '''0 до 10 баллов'''. | |||
'''Блокирующее условие на неуд:''' сумма оценок по двум контрольным должна быть хотя бы 6б. | |||
Итоговая оценка рассчитывается на основе трёх составляющих: | |||
* A - контесты(от 1 до 10, выставляется по порогам) | |||
* B - AVG контрольные(от 1 до 10) | |||
* C - оценка от семинариста(от -1 до +1) | |||
Далее вычисляется Y=0.5*A+0.5*B+C | |||
И выставляется Min(X,Y) | |||
Пороги для оценки A: | |||
<br> >= 50%: уд3, | |||
<br> >= 55%: уд4, | |||
<br> >= 65%: хор 5, | |||
<br> >= 70%: хор 6, | |||
<br> >= 75%: хор 7, | |||
<br> >= 85%: отл 8, | |||
<br> >= 90%: отл 9, | |||
<br> >= 95%: отл 10, | |||
<br> Иначе: неуд 1 | |||
Версия от 13:37, 28 августа 2026
Команда курса
Лектор: Троян-Головян Владислав
Семинарист: Аксёненко Денис
Ассистенты:
Андреев Ярослав Андреевич Прохорчук Екатерина Александровна
Программа курса
Форма контроля: Дифференцированный зачет и экзамен
| № недели | Лекция / семинар |
|---|---|
| 1 | Основные идеи, базовые задачи: НОП, НВП, Банкомат |
| 2 | Динамическое программирование 2: матричное ДП, алгоритм Хиршберга, задача о рюкзаке, ДП по цифрам |
| 3 | ДП по битмаскам, гамильтоновы пути, клики; ДП по профилю, скошенному профилю |
| 4 | Convex Hull Trick |
| 5 | Графы 1: способы хранения, DFS, BFS, цвета вершин |
| 6 | Графы 2: DFS и времена входа и выхода, топологическая сортировка, поиск КСС, 2-SAT, мосты и точки сочленения |
| 7 | Остовные деревья, СНМ, алгоритм Крускала, алгоритм Прима, матроиды |
| 8 | Алгоритм Борувки, LCA: поиск при помощи двух указателей, бинарных подъёмов, сведение LCA к RMQ. Алгоритм Фарака–Колтона и Бендера. Сведение RMQ к LCA |
| 9 | Кратчайшие пути 1: алгоритм Дейкстры, алгоритм A*, алгоритм Форда–Беллмана, алгоритм Флойда–Уоршелла |
| 10 | Кратчайшие пути 2: алгоритм Джонсона, улучшения алгоритма Дейкстры, двунаправленный A*, алгоритм IDA* |
| 11 | Паросочетания: алгоритм Куна, теорема Бержа, теорема Кёнига. Построение минимального вершинного покрытия |
| 12 | Потоки 1: основные понятия, теорема о максимальном потоке и минимальном разрезе, метод Форда–Фалкерсона, алгоритм Эдмондса–Карпа. Поиск максимального паросочетания при помощи поиска потока |
| 13 | Алгоритмы Диница и Хопкрофта–Карпа |
| 14 | Min-cost flow. Задача о назначениях |
Коммуникация
Ссылка на чат курса в мессенджере (ближе к старту семестра)
Прогресс студентов
Ссылка на таблицу студентов с оценками (ближе к старту семестра)
Система оценивания
В течение семестра проводится 6 контестов, в каждом из которых одна задача выполняется с последующим код-ревью.
Критерии оценивания и формы контроля успеваемости
По задачам на ревью опрелеляется верхняя граница оценки(далее X):
Если пройдено
Для порога уд. 4 нужно пройти(получить approve) 3,
Для порога хор. 7, нужно пройти 4,
Для порога отл. 8-9, нужно пройти 5
Для порога отл. 10, нужно пройти 6.
Контрольные работы
В течение семестра проводится 2 контрольные работы. За каждую контрольную можно получить от 0 до 10 баллов.
Блокирующее условие на неуд: сумма оценок по двум контрольным должна быть хотя бы 6б.
Итоговая оценка рассчитывается на основе трёх составляющих:
- A - контесты(от 1 до 10, выставляется по порогам)
- B - AVG контрольные(от 1 до 10)
- C - оценка от семинариста(от -1 до +1)
Далее вычисляется Y=0.5*A+0.5*B+C
И выставляется Min(X,Y)
Пороги для оценки A:
>= 50%: уд3,
>= 55%: уд4,
>= 65%: хор 5,
>= 70%: хор 6,
>= 75%: хор 7,
>= 85%: отл 8,
>= 90%: отл 9,
>= 95%: отл 10,
Иначе: неуд 1