Добрый день!
Сегодня в 19:30 МСК в Тренировках состоится Новогодний контест. Приглашаю всех поучаствовать.
С наступающим!
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 155 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | nor | 152 |
Добрый день!
Сегодня в 19:30 МСК в Тренировках состоится Новогодний контест. Приглашаю всех поучаствовать.
С наступающим!
Название |
---|
Как решалась В?
Я решал динамикой d[сколько прошли указов][предпоследний взятый указ][последний взятый указ]. Переход за O(1) — берем указ / не берем.
Ой, пропустил в условии строчку про то, что порядок указов должен остаться таким же :(
Тогда понятно как решать, спасибо.
Интересно, а за сколько можно решать аналогичную задачу, если расставлять указы можно в любом порядке?
А разве не прокатит отсортировать и пустить ту же динамику?
Теперь же мы можем добавлять точки с двух сторон (и динамика получится четвертой степени). Или я не правильно понял идею?
Резонный вопрос: как решать H?
Предположим, что число в инпуте длиной n равно сумме двух зеркальных чисел длиной тоже n. Тогда мы знаем сумму первой и последней цифры ответа — она равна последней цифре числа из инпута (так как мы знаем, что переноса разряда не было). Отнимем эту сумму в двух местах — в начале и в конце, а на место первой и последней цифры в ответе поставим любые две, которые дают такую сумму. По сути, мы перешли к задаче меньшего на 2 размера.
Аналогично предположим, что число из инпута — сумма чисел длины n-1. Тогда мы знаем сумму первой и последней цифры с учётом, что перенос разряда был. И так далее, и тому подобное.
Невозможность проверяется, к примеру, выходом суммы на каком-то шаге за границы [0 + 0..9 + 9].
Кстати, по поводу задачи D, как доказать, что максимальное количество различных палиндромов в строке длины n равно n? А то я просто посмотрел первые 6 значений и заслал наобум..
При добавлении символа в конец строки, добавляется не более одного нового палиндрома: пусть длина наидлиннейшего палиндрома, который является суффиксом строки S, равна X, тогда все палиндромы-суффиксы меньшей длины уже встречались в строке S без последнего символа в позиции |**S**| — X