Блог пользователя Vladosiya

Автор Vladosiya, история, 21 месяц назад, По-русски

1800A - Это кошка?

Idea: Vladosiya, MikeMirzayanov

Tutorial
Solution

1800B - Посчитай количество пар

Idea: myav

Tutorial
Solution

1800C1 - Усиление героев (простая версия)

Idea: Vladosiya

Tutorial
Solution

1800C2 - Усиление героев (сложная версия)

Idea: Vladosiya

Tutorial
Solution

1800D - Удали два символа

Idea: MikeMirzayanov

Tutorial
Solution

1800E1 - Непростительное заклятие (простая версия)

Idea: Aris, talant

Tutorial
Solution

1800E2 - Непростительное заклятие (сложная версия)

Idea: Aris, Vladosiya

Tutorial
Solution

1800F - Даша и кошмары

Idea: Gornak40

Tutorial
Solution

1800G - Симмеtreeя

Idea: Vladosiya

Tutorial
Solution

Полный текст и комментарии »

Разбор задач Codeforces Round 855 (Div. 3)
  • Проголосовать: нравится
  • +46
  • Проголосовать: не нравится

Автор Vladosiya, история, 21 месяц назад, По-русски

Я обнаружил небольшую нехватку материалов на эту тему и хочу начать со статьи rationalex:

Задача

Хотим научиться сравнивать корневые деревья на изоморфизм (равенство с точностью до перенумерования вершин + корень одного дерева обязательно переходит в корень другого дерева).

Хеш вершины

Заметим, что поскольку мы не можем апеллировать к номерам вершин, единственная информация, которую мы можем оперировать — это структура нашего дерева.

Положим тогда хешем вершины без детей какую-нибудь константу (например, 179), а для вершины с детьми положим в качестве хеша некоторую функцию от отсортированного (поскольку мы не знаем истинного порядка, в котором дети должны идти, нужно привести их к одинаковому виду) списка хешей детей. Хешом корневого дерева будем считать хеш корня.

По построению, у изоморфных корневых деревьев хеши совпадают (доказательство индукцией по числу уровней в дереве автор оставляет читателю в качестве упражнения).

Полиномиальный хеш не подходит

Рассмотрим 2 дерева:

Если мы посчитаем для них в качестве функции от детей взять полиномиальный хеш, то получим: $$$h(T1)=179+179p+179p^2=179+p(179+179p)=h(T2)$$$

Какую же хеш-функцию взять?

В качестве хорошей хеш-функции подойдёт, например

$$$h(v)=42 + \sum_{u \in sorted\_by\_hash(child(v))} \log(h(u))$$$

Для этой хеш-функции может показаться, что можно не сортировать хеши детей, однако это не так, потому что при вычислении чисел с плавающей точкой у нас возникает погрешность, и чтобы это результат суммирования был одинаковый для изоморфных деревьев, суммировать детей надо тоже в одинаковом порядке.

Пример более complicated хеш-функции:

$$$h(v)= \big[\sum_{u \in sorted\_by\_hash(child(v))} h(u)^2+h(u)p^i+42\big]\mod2^{64}$$$

Асимптотика

Всё что нам нужно делать на каждом уровне — это сортировка вершин по значению хеша и суммирование, так что итоговая сложность: $$$O(|V| \log(|V|))$$$

Хочу продолжить от себя:

В реалиях Codeforces у данных подходов есть проблемы в виде взломов (что можно увидеть, например, по взломам этой задачи). Поэтому хочу рассказать о подходе, при котором не возникает коллизий.

Что же за хеш-функция?

Давайте для вершины отсортируем хеш-функции детей и сопоставим этому массиву номер, который и будем считать хешем вершины (если массив новый, то присвоим ему минимальный незанятый номер, иначе возьмём тот который уже дали).

Почему это работает быстро?

Легко заметить, что суммарный размер массивов, которые мы посчитали, равен $$$n - 1$$$ (каждое добавление это переход по ребру). Благодаря этому, даже используя для сопоставления treemap, на все обращения к нему потребуется суммарно $$$O(n \cdot \log(n))$$$. Сравнение ключа размера $$$sz$$$ с другим ключом работает за $$$O(sz)$$$ и таких сравнений для каждого ключа произойдёт $$$O(\log(n))$$$, а сумма всех $$$sz$$$ как мы помним равна $$$n-1$$$, так что получается суммарно $$$O(n \cdot \log(n))$$$. (Вы могли подумать что стоит использовать hashmap, но это не улучшает асимптотику и вызывает вероятность коллизии).

Полный текст и комментарии »

  • Проголосовать: нравится
  • +151
  • Проголосовать: не нравится

Автор Vladosiya, история, 21 месяц назад, По-русски

Привет! В 02.03.2023 17:35 (Московское время) начнётся Codeforces Round 855 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6-8 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 6-8 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу)
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацией нашей работы. Задачи были придуманы и написаны командой Университета ИТМО: MikeMirzayanov, myav, Aris, Gornak40, senjougaharin и Vladosiya.

Также большое спасибо: tolbi, lunchbox, Son, sary, Wibo, yorky, nigus, tute7627, 74TrAkToR, bigfoot19982, oversolver, Be_dos, CARBINE, molney, KoT_OsKaR, Nickir, cute_hater, Crutch, vrintle, Rubikun, akulenok, medk, Jostic11, Ghassane за тестирование раунда и весьма полезные замечания. Список тестеров будет пополняться.

Всем удачи!

UPD: Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +196
  • Проголосовать: не нравится

Автор Vladosiya, история, 22 месяца назад, По-русски

1790A - Поликарп и День числа Пи

Идея: MikeMirzayanov

Разбор
Решение

1790B - Таисия и кубики

Идея: Gornak40

Разбор
Решение

1790C - Престановка

Идея: MikeMirzayanov

Разбор
Решение

1790D - Матрёшки

Идея: MikeMirzayanov

Разбор
Решение

1790E - Влад и пара чисел

Идея: Vladosiya

Разбор
Решение

1790F - Тимофей и черно-белое дерево

Идея: molney

Разбор
Решение

1790G - Фишки на графе

Идея: senjougaharin

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 847 (Div. 3)
  • Проголосовать: нравится
  • +81
  • Проголосовать: не нравится

Автор Vladosiya, история, 22 месяца назад, По-русски

Привет! В Jan/27/2023 17:35 (Moscow time) начнётся Codeforces Round 847 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6-8 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 6-8 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу)
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацией нашей работы. Задачи были придуманы и написаны командой Университета ИТМО: MikeMirzayanov, myav, Gol_D, Aris, Gornak40, senjougaharin и Vladosiya. Также в этот раз одну из задач предложил molney.

Также большое спасибо:alwyn, morasha3, csegura, BledDest, stevenkplus, Darko, Coki628, Crutch, Qwerty1232, Jostic11, liouzhou_101, Jeffin, AW_Flister, glebustim, yorky, mango_lassi, 74TrAkToR, ErrorDeveloper, Be_dos, MODDI, Vercingetorix за тестирование раунда и весьма полезные замечания. Список тестеров будет пополняться.

Всем удачи!

UPD: Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +202
  • Проголосовать: не нравится

Автор Vladosiya, история, 2 года назад, По-русски

1759A - Да-да?

Идея: MikeMirzayanov

Разбор
Решение

1759B - Потерянная перестановка

Идея: MikeMirzayanov

Разбор
Решение

1759C - Термостат

Идея: Vladosiya

Разбор
Решение

1759D - Сделай круглым

Идея: MikeMirzayanov

Разбор
Решение

1759E - Гуманоид

Идея: Gornak40

Разбор
Решение

1759F - Всевозможные цифры

Идея: senjougaharin

Разбор
Решение

1759G - Восстанови перестановку

Идея: MikeMirzayanov

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 834 (Div. 3)
  • Проголосовать: нравится
  • +26
  • Проголосовать: не нравится

Автор Vladosiya, история, 2 года назад, По-русски

Привет! В 18.11.2022 17:35 (Московское время) начнётся Codeforces Round 834 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6-8 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 6-8 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу)
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацией нашей работы. Задачи были придуманы и написаны командой Университета ИТМО: MikeMirzayanov, myav, Gol_D, Aris, Gornak40, senjougaharin и Vladosiya.

Также большое спасибо: mumumucoder, Enkognit, orloffm, TeaTime, ilyamzy, Olympia, moonveil, 74TrAkToR, molney, elseecay, bigDuck, Nickir, Be_dos, OAleksa за тестирование раунда и весьма полезные замечания. Список тестеров будет пополняться.

Всем удачи!

UPD: Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +114
  • Проголосовать: не нравится

Автор Vladosiya, история, 2 года назад, По-русски

1741A - Сравни размеры футболок

Идея: MikeMirzayanov

Разбор
Решение

1741B - Смешная перестановка

Идея: MikeMirzayanov

Разбор
Решение

1741C - Минимизируй толщину

Идея: MikeMirzayanov

Разбор
Решение

1741D - Маша и красивое дерево

Идея: Gornak40

Разбор
Решение

1741E - Передача последовательности по сети

Идея: MikeMirzayanov

Разбор
Решение

1741F - Разноцветные отрезки

Идея: MikeMirzayanov, senjougaharin

Разбор
Решение

1741G - Кирилл и компания

Идея: Vladosiya

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 826 (Div. 3)
  • Проголосовать: нравится
  • +77
  • Проголосовать: не нравится

Автор Vladosiya, история, 2 года назад, По-русски

Привет! В 11.10.2022 17:35 (Московское время) начнётся Codeforces Round 826 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6-8 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 6-8 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу)
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацией нашей работы. Задачи были придуманы и написаны командой Университета ИТМО: MikeMirzayanov, myav, Gol_D, Aris, Gornak40, senjougaharin и Vladosiya.

Также большое спасибо: Mangooste, Ormlis, oversolver, Be_dos, IzhtskiyTimofey, Stefan2417, ace5, BledDest, AbsurdMan, toxabuk, Kniaz, goncharovmike, YTatarin, pashka и great_fortune за тестирование раунда и весьма полезные замечания. Список тестеров будет пополняться.

Всем удачи!

UPD: Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +212
  • Проголосовать: не нравится

Автор Vladosiya, история, 2 года назад, По-русски

1729A - Два лифта

Идея: Vladosiya

Разбор
Решение

1729B - Расшифруй строку

Идея: MikeMirzayanov

Разбор
Решение

1729C - Прыжки по плиткам

Идея: MikeMirzayanov, Aris

Разбор
Решение

1729D - Друзья и ресторан

Идея: MikeMirzayanov, Aris, myav

Разбор
Решение

1729E - Угадай длину цикла

Идея: Gornak40, MikeMirzayanov

Разбор
Решение

1729F - Кирей и линейная функция

Идея: Gornak40

Разбор
Решение

1729G - Вырежи подстроки

Идея: senjougaharin, MikeMirzayanov

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 820 (Div. 3)
  • Проголосовать: нравится
  • +50
  • Проголосовать: не нравится

Автор Vladosiya, история, 2 года назад, перевод, По-русски

1714A - Все любят спать

Идея: Vladosiya

Разбор
Решение

1714B - Удали префикс

Идея: MikeMirzayanov

Разбор
Решение

1714C - Минимальное разнообразное число

Идея: MikeMirzayanov

Разбор
Решение

1714D - Покрась вхождениями

Идея: MikeMirzayanov

Разбор
Решение

1714E - Прибавление по модулю 10

Идея: senjougaharin

Разбор
Решение

1714F - Построй дерево и точка

Идея: MikeMirzayanov

Разбор
Решение

1714G - Префиксы путей

Идея: MikeMirzayanov

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 811 (Div. 3)
  • Проголосовать: нравится
  • +22
  • Проголосовать: не нравится

Автор Vladosiya, история, 2 года назад, По-русски

Привет! В 01.08.2022 17:35 (Московское время) начнётся Codeforces Round 811 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6-8 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 6-8 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде (и последующих Div. 3 раундах) будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу),
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацией нашей работы. Задачи были придуманы и написаны командой Университета ИТМО: MikeMirzayanov, myav, Gol_D, Aris, senjougaharin, мной Vladosiya.

Также большое спасибо yorky, Jostic11, turmax, oversolver, ivanz, antonis.white, molney, KerakTelor, andrey.starodubtsev, Ahmad45123, myway, sofiaasta, Muhammad98 за тестирование раунда и весьма полезные замечания.

Всем удачи!

UPD: Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +217
  • Проголосовать: не нравится

Автор Vladosiya, история, 2 года назад, По-русски

1702A - Округли цену

Идея: MikeMirzayanov

Разбор
Решение

1702B - Поликарп пишет строку по памяти

Идея: MikeMirzayanov

Разбор
Решение

1702C - Поезд и запросы

Идея: MikeMirzayanov

Разбор
Решение

1702D - Недешёвая строка

Идея: MikeMirzayanov

Разбор
Решение

1702E - Раздели на два набора

Идея: MikeMirzayanov

Разбор
Решение

1702F - Уравняй мультимножества

Идея: MikeMirzayanov

Разбор
Решение

1702G1 - Проходимые пути (простая версия)

Идея: MikeMirzayanov

Разбор
Решение

1702G2 - Проходимые пути (сложная версия)

Идея: MikeMirzayanov

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 805 (Div. 3)
  • Проголосовать: нравится
  • +74
  • Проголосовать: не нравится

Автор Vladosiya, история, 2 года назад, По-русски

Привет! Во Jun/07/2022 17:35 (Moscow time) начнётся Codeforces Round 797 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6-8 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 6-8 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде (и последующих Div. 3 раундах) будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу),
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацией нашей работы. Задачи были придуманы и написаны командой Университета ИТМО: MikeMirzayanov, MisterGu, myav, Gol_D, Aris, senjougaharin, мной Vladosiya.

Также большое спасибо Kirill22 , daubi , Fortin , Artem_Sukharev , vsinitsynav , yorky , oversolver , majorro , ilya_totl , Undying , olya.masaeva , Kniaz , Golovanov399 , farmerboy , Absyarka , Kavaliro , neeraj_joshi за тестирование раунда и весьма полезные замечания.

Всем удачи!

UPD:Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +193
  • Проголосовать: не нравится

Автор Vladosiya, история, 3 года назад, По-русски

1675A - Еда для животных

Идея: MikeMirzayanov

Разбор
Решение

1675B - Сделай возрастающую

Идея: MikeMirzayanov

Разбор
Решение

1675C - Детективная задача

Идея: Gol_D

Разбор
Решение

1675D - Вертикальные пути

Идея: MikeMirzayanov

Разбор
Решение

1675E - Замени на предыдущий, минимизируй

Идея: myav

Разбор
Решение

1675F - Влад и отложенные дела

Идея: Vladosiya

Разбор
Решение

1675G - Сортировка блинчиков

Идея: Vladosiya

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 787 (Div. 3)
  • Проголосовать: нравится
  • +25
  • Проголосовать: не нравится

Автор Vladosiya, история, 3 года назад, По-русски

Привет! В May/05/2022 17:35 (Moscow time) начнётся Codeforces Round 787 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6-7 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 6-7 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде (и последующих Div. 3 раундах) будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу),
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацией нашей работы. Задачи были придуманы и написаны командой Университета ИТМО: MikeMirzayanov, MisterGu, myav, Gol_D, Aris, senjougaharin, мной Vladosiya.

Также большое спасибо avevad, yorky, UncleSema, vsinitsynav, GoracioNewport, Tvorozh0k, any_nickname, I.AM.THE.WILL и Jostic11 за тестирование раунда и весьма полезные замечания.

Всем удачи!

UPD:Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +173
  • Проголосовать: не нравится

Автор Vladosiya, история, 3 года назад, По-русски

1650A - Удаления двух соседних букв

Идея: MikeMirzayanov

Разбор
Решение

1650B - DIV + MOD

Идея: Vladosiya

Разбор
Решение

1650C - Вес системы вложенных отрезков

Идея: myav

Разбор
Решение

1650D - Петя и циклические сдвиги

Идея: MikeMirzayanov

Разбор
Решение

1650E - Перенос экзамена

Идея: senjougaharin

Разбор
Решение

1650F - Виталий и Advanced Useless Algorithms

Идея: Aris

Разбор
Решение

1650G - Подсчёт коротких путей

Идея: MikeMirzayanov

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 776 (Div. 3)
  • Проголосовать: нравится
  • +73
  • Проголосовать: не нравится

Автор Vladosiya, история, 3 года назад, По-русски

Привет! Во Mar/08/2022 17:35 (Moscow time) начнётся Codeforces Round 776 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 7-8 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 6-7 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде (и последующих Div. 3 раундах) будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу),
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацией нашей работы. Задачи были придуманы и написаны командой Университета ИТМО: MikeMirzayanov, MisterGu, myav, Gol_D, Aris, senjougaharin, мной Vladosiya.

Также большое спасибо mango_lassi, espr1t, karemo, starboy_jb, Fly_37, omikad, Katya_Goryachkina, Omja, teraqqq, oversolver, Jostic11, yorky, _4dr_ и doreshnikov за тестирование раунда и весьма полезные замечания.

Всем удачи!

UPD: Поздравляем девушек с Международным женским днем <3.

UPD 2: Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +201
  • Проголосовать: не нравится

Автор Vladosiya, история, 3 года назад, По-русски

1624A - Плюс один на подмножестве

Идея: MikeMirzayanov

Разбор
Решение

1624B - Сделай АП

Идея: senjougaharin

Разбор
Решение

1624C - Деление на два и перестановка

Идея: MikeMirzayanov

Разбор
Решение

1624D - Раскраска палиндромов

Идея: senjougaharin

Разбор
Решение

1624E - Маша-забываша

Идея: Aris

Разбор
Решение

1624F - Интеракдивная задача

Идея: Vladosiya

Разбор
Решение

1624G - Дерево минимального ора

Идея: Vladosiya

Разбор
Решение

Полный текст и комментарии »

Разбор задач Codeforces Round 764 (Div. 3)
  • Проголосовать: нравится
  • +90
  • Проголосовать: не нравится

Автор Vladosiya, 3 года назад, По-русски

Привет! В 20.12.2021 17:35 (Московское время) начнётся Codeforces Round 762 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 7-8 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Мы постарались сделать приличные тесты — так же как и вы, мы будем расстроены, если у многих будут падать решения после окончания контеста.

Вам будет предложено 7-8 задач и 2 часа 15 минут на их решение.

Штраф за неверную попытку в этом раунде (и последующих Div. 3 раундах) будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в пяти рейтинговых раундах (и решить в каждом из них хотя бы одну задачу),
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацией нашей работы. Задачи были придуманы и написаны командой Университета ИТМО: MikeMirzayanov, MisterGu, myav, Gol_D, Aris, senjougaharin, мной Vladosiya, а также студентом СГУ Brovko.

Также большое спасибо Geothermal, Rafbill, Sugar_fan, mango_lassi, hitonanode, Resende, Igorjan94, CtrlAlt, KerakTelor, FlakeLCR, MatheusMonteiro, Loolo, kocko за тестирование раунда и весьма полезные замечания.

Всем удачи!

UPD 1: Мнение тесторов про порядок задач оказалось настолько неоднородно, что нет никакой возможности быть уверенным в возрастании сложности задач в наборе. Советуем вам прочитать все задачи.

UPD 2: Если вы школьник из Саратовской области, то, пожалуйста, воздержитесь от участия в раунде. Одна из задач может оказаться вам знакома. Спасибо!

UPD 3: Разбор

Полный текст и комментарии »

  • Проголосовать: нравится
  • +296
  • Проголосовать: не нравится

Автор Vladosiya, история, 5 лет назад, По-русски

Привет, codeforces! Я учусь в 11 классе, с недавних пор живу в СПб, читаю и дебажу код на любом языке, надеюсь найти команду. О себе: отбор собираюсь писать в Питере, но готов рассмотреть возможность писать в другом городе, из "великих" достижений только победа на регионе и победа на региональной командной олимпиаде http://contest.uni-smr.ac.ru/ru/monitor/554/, обращайтесь как вам удобно.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +23
  • Проголосовать: не нравится