Официальный разбор задач регионального этапа:
https://neerc.ifmo.ru/school/archive/2023-2024/ru-olymp-regional-2024-solutions.pdf
https://neerc.ifmo.ru/school/archive/2023-2024/ru-olymp-regional-2024-solutions.pdf
👍13
ru-olymp-regional-2024-day2.pdf
209 KB
Условия регионального этапа
👍13👎2
MITM - Meet In The Middle
Предисловие:
По мотивам задачи C 1-го дня региона...
В основном метод призван помочь, когда вы знаете решение задачи, но оно не проходит по TL, а вот то же решение при ограничениях в 2 раза меньше уже проходит. Обычно в таких задачах асимптотика 2^n и поэтому деление на 2 помогает - получаем 2^{n/2}.
По теории метод простой: делим задачу на две одинаковых (или почти) один раз (не путать с "разделяй и властвуй") и потом объединяем результаты двух половин.
Звучит просто и обычно как поделить на две задачи понятно, но трудности могут возникнуть в объединении. Также, в таких задачах может возникнуть проблема в придумывании решения без деления пополам, так как часто это какое-нибудь ДП по подмножествам.
Поэтому надо нарешать задач на него, чтобы хорошенько прочувствовать
Пререквизиты:
🔙 Перебор всех подмножеств битмасками
🔙 Динамическое программирование по подмножествам
Теория:
📼 Открытая лекция Тинькофф Поколения - разбор набора задач по теме на доске без кода
📼 Видео от красного на кф Errichto - разбор набора задач с кодом, но на английском
Первые задачи:
💻 CSES 1
💻 CSES 2
KIT контест по теме с периодически пополняемыми задачами:
🔄 Контест - сейчас там пока 7 задач, но будут еще. Для решения нужно вступить в группу на кф - ссылка
Вопросы на понимание темы:
В этот раз без них, так как надо задачи решать😉
Делитесь с друзьями, задачи будут интересны любому уровню!
💬 Следующие темы смело предлагайте в комментариях. Также, делитесь интересными задачами и материалами по этой теме, тут их точно еще полно)
Автор: https://www.tgoop.com/KogutIvanTutoring
Теги: #алгоритмы #методы #meet_in_the_middle #динамическое_программирование
Предисловие:
По мотивам задачи C 1-го дня региона...
В основном метод призван помочь, когда вы знаете решение задачи, но оно не проходит по TL, а вот то же решение при ограничениях в 2 раза меньше уже проходит. Обычно в таких задачах асимптотика 2^n и поэтому деление на 2 помогает - получаем 2^{n/2}.
По теории метод простой: делим задачу на две одинаковых (или почти) один раз (не путать с "разделяй и властвуй") и потом объединяем результаты двух половин.
Звучит просто и обычно как поделить на две задачи понятно, но трудности могут возникнуть в объединении. Также, в таких задачах может возникнуть проблема в придумывании решения без деления пополам, так как часто это какое-нибудь ДП по подмножествам.
Поэтому надо нарешать задач на него, чтобы хорошенько прочувствовать
Пререквизиты:
🔙 Перебор всех подмножеств битмасками
🔙 Динамическое программирование по подмножествам
Теория:
📼 Открытая лекция Тинькофф Поколения - разбор набора задач по теме на доске без кода
📼 Видео от красного на кф Errichto - разбор набора задач с кодом, но на английском
Первые задачи:
💻 CSES 1
💻 CSES 2
KIT контест по теме с периодически пополняемыми задачами:
Вопросы на понимание темы:
В этот раз без них, так как надо задачи решать
Автор: https://www.tgoop.com/KogutIvanTutoring
Теги: #алгоритмы #методы #meet_in_the_middle #динамическое_программирование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24
Forwarded from PROD
Давай на PROD 🤩
Это канал олимпиады по промышленной разработке PROD. Здесь мы будем делиться новостями и анонсами олимпиады, а также полезной информацией для всех, кому интересна сфера ИТ.
Приглашаем всех школьников 9–11-х классов попробовать свои силы в компьютерных науках и проверить, подходит ли вам работа в ИТ.
Олимпиада пройдет в три этапа. Для отборочного этапа участникам будет достаточно школьных знаний. Начиная со второго этапа, каждый участник попробует себя в роли разработчика в ИТ-компании.
Регистрация уже открыта и продлится до 14 февраля: prodcontest.ru
Подписывайтесь и включайте уведомления, чтобы не пропустить все самое интересное🔔
Это канал олимпиады по промышленной разработке PROD. Здесь мы будем делиться новостями и анонсами олимпиады, а также полезной информацией для всех, кому интересна сфера ИТ.
Приглашаем всех школьников 9–11-х классов попробовать свои силы в компьютерных науках и проверить, подходит ли вам работа в ИТ.
Олимпиада пройдет в три этапа. Для отборочного этапа участникам будет достаточно школьных знаний. Начиная со второго этапа, каждый участник попробует себя в роли разработчика в ИТ-компании.
Регистрация уже открыта и продлится до 14 февраля: prodcontest.ru
Подписывайтесь и включайте уведомления, чтобы не пропустить все самое интересное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👎39👍28
Heavy-light декомпозиция
Этот лонгрид направлен на понимание основных принципов работы HLD, а также области его применения. Штука достаточно мощная, позволяет достаточно понятно работать с запросами на путях, однако не всегда применима.
Ссылка: https://telegra.ph/Heavy-light-decomposition-02-01
Автор: Карим Миннибаев(@d3j4vY)
Также, если вам интересны индивидуальные занятия с преподавателем, то Карим с удовольствием поможет вам улучшить свои олимпиадные навыки. За более подробной информацией обращайтесь к нему в лс.
Теги: #алгоритмы #декомпозиция #hld
Этот лонгрид направлен на понимание основных принципов работы HLD, а также области его применения. Штука достаточно мощная, позволяет достаточно понятно работать с запросами на путях, однако не всегда применима.
Ссылка: https://telegra.ph/Heavy-light-decomposition-02-01
Автор: Карим Миннибаев(@d3j4vY)
Также, если вам интересны индивидуальные занятия с преподавателем, то Карим с удовольствием поможет вам улучшить свои олимпиадные навыки. За более подробной информацией обращайтесь к нему в лс.
Теги: #алгоритмы #декомпозиция #hld
Telegraph
Heavy-light decomposition
Задача: Дано дерево. Хотим научиться за хорошую асимптотику отвечать на запросы на путях с обновлениями (в точке или также на путях), причем запросы, где зная ответ для двух множеств, мы можем быстро сказать ответ для объединения (т.е. хорошие запросы по…
👍9
Как AI решает олимпиадное программирование?
В декабре 2022 года Google DeepMind представили свою систему решения задач по программированию - AlphaCode. И если тогда это выглядело не очень, то новая версия AlphaCode 2, которая вышла в декабре 2023 года, уже дает повод понервничать (смотри результаты в конце поста)
👨💻 Посмотреть, как система пишет код и на какие места в условии она обращает внимание во время написания, можно по ссылке
А я начну рассказывать с первой версии
Что было в AlphaCode:
🔄 Pretrain модели. 715 GB кода из гитхаба. Делили файл на 2 части: 1 - в энкодер, 2 - в декодер, чтобы он выучился ее восстанавливать
🔄 Finetune модели. 2.6 GB датасет из условий задач, правильных и неправильных решений и тестов из условия
🔄 Sampling. Генерируется много решений для одной задачи
🔄 Filtering. Фильтруются программы, которые не прошли по тестам из условия или не скомпилировались
🔄 Clustering. По условию генерируются новые тесты другой моделью. Решения прошедшие фильтрацию группируются в кластеры по правилу: одинаковые ответы на сгенеренные тесты -> решения попадают в один кластер
🔄 В конце из каждого кластера из топ-10 по размеру берется одно решение и все 10 решений отправляются в систему
Результат AlphaCode:
📊 Решила 25% задач из 12 контестов codeforces div.2 или div.1+2
📊 Лучше чем 46% людей с codeforces на этих контестах
AlphaCode 2. Отличия и нововведения:
🔄 Претрейн модели Gemini PRO модель от гугла в качестве основной
🔄 Finetune. Чуть расширили датасет
🔄 Одна модель Finetune несколько моделей с разными гиперпараметрами
🔄 Брать произвольное решение из кластера Finetune еще одной Gemini PRO модели для оценки правильности решения. Берут из каждого кластера топ-1 решение по оценке этой модели
Результат AlphaCode 2:
📊 Решила 43% задач из 12 контестов codeforces div.2 или div.1+2
📊 Лучше чем 85% людей с codeforces на этих контестах
📊 По уровню между синим и фиолетовым рейтингом на кф
Автор: https://www.tgoop.com/KogutIvanTutoring
Теги: #алгоритмы #AI #Нейросети
В декабре 2022 года Google DeepMind представили свою систему решения задач по программированию - AlphaCode. И если тогда это выглядело не очень, то новая версия AlphaCode 2, которая вышла в декабре 2023 года, уже дает повод понервничать (смотри результаты в конце поста)
А я начну рассказывать с первой версии
Что было в AlphaCode:
Результат AlphaCode:
AlphaCode 2. Отличия и нововведения:
Результат AlphaCode 2:
Автор: https://www.tgoop.com/KogutIvanTutoring
Теги: #алгоритмы #AI #Нейросети
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31👎11
Проходные на заключительный этап ВСОШ
9 класс - 557 баллов
10 класс - 580 баллов
11 класс - 593 балла
9 класс - 557 баллов
10 класс - 580 баллов
11 класс - 593 балла
👍51👎47
Метод сжатия координат.
В одних задачах сжатие координат позволяет применить решение "в лоб", в других даёт возможность применить подходящую структуру данных, например, дерево отрезков.
Для написания кода на языке C++ удобно использовать алгоритм unique в комбинации со встроенным бинарным поиском. Подробности смотрите в видео Сжатие координат.
Подборка задач для отработки данной темы:
- Площадь прямоугольников
- Прямоугольное деление
- Закраска прямой - 2
- Точки и отрезки
- Отрезки
- Цветная бумага
- Бал
Автор: Игорь Мамай
Теги: #алгоритмы #сжатиекоординат
В одних задачах сжатие координат позволяет применить решение "в лоб", в других даёт возможность применить подходящую структуру данных, например, дерево отрезков.
Для написания кода на языке C++ удобно использовать алгоритм unique в комбинации со встроенным бинарным поиском. Подробности смотрите в видео Сжатие координат.
Подборка задач для отработки данной темы:
- Площадь прямоугольников
- Прямоугольное деление
- Закраска прямой - 2
- Точки и отрезки
- Отрезки
- Цветная бумага
- Бал
Автор: Игорь Мамай
Теги: #алгоритмы #сжатиекоординат
YouTube
Сжатие координат
В этом видео речь пойдёт о методе сжатия координат. В некоторых задачах сжатие координат позволяет применить решение "в лоб", в других даёт возможность применить подходящую структуру данных, например, дерево отрезков.
Для написания кода на языке C++ удобно…
Для написания кода на языке C++ удобно…
👍26👎4
Результаты Высшей пробы(10-11 класс):
https://olymp51.hse.ru/OLYMPREPORTS/MMO/SecondStage/Results/10807228512.pdf
https://olymp51.hse.ru/OLYMPREPORTS/MMO/SecondStage/Results/10806856587.pdf
https://olymp51.hse.ru/OLYMPREPORTS/MMO/SecondStage/Results/10807228512.pdf
https://olymp51.hse.ru/OLYMPREPORTS/MMO/SecondStage/Results/10806856587.pdf
👎27👍15
Критерии определения победителей и призеров Высшей пробы
https://olymp.hse.ru/mirror/pubs/share/904847583.pdf
https://olymp.hse.ru/mirror/pubs/share/904847583.pdf
👍19👎19
Матрицы и их умножение
Предисловие:
Вам не нужно знать все о матрицах, чтобы пользоваться ими на олимпиадах) Курс линейной алгебры тут не нужен
Достаточно этого:
* Матрица - это двумерный (одно из измерений может быть равно единице) набор чисел
* Как работает умножение матриц: суть, алгориитм и время его работы
И дальше нужно научиться видеть (через решение задач естественно), где можно задачу свести к умножению матриц или возведению матрицы в степень. В последнем случае можно получить ускорение за счет бинарного возведения в степень, с матрицами этот трюк тоже работает.
Это может пригодиться, например, в пересчете ДП. А самым базовым примером является задача нахождения n-го числа Фибоначчи быстрее чем O(n)😱 Как это возможно, узнаете ниже)
Пререквизиты:
🔙 Сумма, вычитание, произведение, деление по модулю
🔙 Бинарное возведение в степень
🔙 Базовое ДП
Теория:
📚 Алгоритмика 1 - определение матриц и их умножения + код умножения
📚 Алгоритмика 2 - как использовать умножение матриц в задачах, n-ое число Фибоначчи и другие задачи
📼 Видео от красного на кф Errichto (На английском) - очень подробное объяснение как решать несколько задач на тему
KIT контест по теме с периодически пополняемыми задачами:
🔄 Контест - в этот раз просто взял контест от Errichto, очень он хорош для отработки: простые и сложные задачки. Для решения нужно вступить в группу на кф - ссылка
Вопросы на понимание темы:
❓ За какое время работает умножение матрицы размером NxK на матрицу размером KxM?
❗️ O(N * M * K)
❓ Что делать, если в реккуренту затесалась константа? Например, a2 = a1 + a0 + 5. Как тогда посчитать n-ое значение с помощью умножения матриц?
❗️ Как минимум 2 способа. 1) Немного отойти от общего случая (как в алгоритмике 2 описано) и составить немного другую матрицу - пишите в комментах какую. 2) Избавиться от этой константы. Можно из a3 вычесть a2, тогда константа (5) сократится и получится новая реккурента. Ее уже общим случаем можно спокойно решить
Автор: https://www.tgoop.com/KogutIvanTutoring
Теги: #алгоритмы #матрицы
Предисловие:
Вам не нужно знать все о матрицах, чтобы пользоваться ими на олимпиадах) Курс линейной алгебры тут не нужен
Достаточно этого:
* Матрица - это двумерный (одно из измерений может быть равно единице) набор чисел
* Как работает умножение матриц: суть, алгориитм и время его работы
И дальше нужно научиться видеть (через решение задач естественно), где можно задачу свести к умножению матриц или возведению матрицы в степень. В последнем случае можно получить ускорение за счет бинарного возведения в степень, с матрицами этот трюк тоже работает.
Это может пригодиться, например, в пересчете ДП. А самым базовым примером является задача нахождения n-го числа Фибоначчи быстрее чем O(n)😱 Как это возможно, узнаете ниже)
Пререквизиты:
🔙 Сумма, вычитание, произведение, деление по модулю
🔙 Бинарное возведение в степень
🔙 Базовое ДП
Теория:
📚 Алгоритмика 1 - определение матриц и их умножения + код умножения
📚 Алгоритмика 2 - как использовать умножение матриц в задачах, n-ое число Фибоначчи и другие задачи
📼 Видео от красного на кф Errichto (На английском) - очень подробное объяснение как решать несколько задач на тему
KIT контест по теме с периодически пополняемыми задачами:
Вопросы на понимание темы:
Автор: https://www.tgoop.com/KogutIvanTutoring
Теги: #алгоритмы #матрицы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23👎4
Всем привет!
Наши друзья из Тинькофф подготовили шуточный контестик в честь 1 апреля! Всех желающих зовем считать котиков: https://interview.tinkoff.ru/april-1
Теги: #контест
Наши друзья из Тинькофф подготовили шуточный контестик в честь 1 апреля! Всех желающих зовем считать котиков: https://interview.tinkoff.ru/april-1
Теги: #контест
Digital Interview
Digital Interview – платформа для технических собеседований
Платформа для проведения собеседований с лайвкодингом. Редактор кода с подсветкой синтаксиса и запуском
👍15