Фанатский разбор Codeforces Round 1043 (Div. 3). ABC1C2DE

Revision ru1, by Goddless, 2025-08-23 02:05:15

Задача А — решение

Пройдемся по строке c, если c[i]=='V', то добавим в начало строки a b[i], иначе добавим в конец строки a b[i].

Код решения

// Вставь сюда свой код

Задача Б — решение

Заметим, что x+y=n, y = x*10^k. Тогда x + x*10^k = n => x(1+10^k) = n => x = n/(1+10^k). Если n делится на (1+10^k), добавляем x в массив, иначе нет. Перебираем k от 1 до 18.

Код решения (пустой)

// Вставь сюда свой код

Задача С1 — решение

Чтобы минимизировать количество сделок, берём как можно большую степень числа 3, которая не превышает n. Троичная репрезентация числа n даёт все ответы. Для каждой позиции добавляем значение к ответу по формуле. Если позиция/степень 0, сравниваем bas-1 => bas, чтобы избежать отрицательных значений.

Код решения (пустой)

// Вставь сюда свой код

Задача С2 — решение

Всегда выгоднее брать 3^x-1 * 3, чем 3^x. Создаём массив cnt с троичной репрезентацией числа n. Допустим, n=10, a = [1,0,1] — количество сделок для каждой степени. Отнимаем минимальное количество сделок от k. Далее «расщепляем» числа до тех пор, пока общее количество не превышает k. Жадно начинаем с самой большой сделки (3^mx).

Код решения (пустой)

// Вставь сюда свой код

Задача Д — решение

Находим к-тую цифру и число с этой цифрой: Разделяем числа на блоки: 9,90,900,9000…. Считаем группы, находим нужную группу, затем число и цифру в ней. Для суммы цифр от 1 до N используем рекурсию с разрядами:

  • x — префикс
  • y — текущая цифра
  • z — суффикс

Финальная формула: x*F(10^(log10(n))) + (x*(x-1)/2)*p + x*(z+1) Используем ДП для быстрых сумм: a[0]=0; a[1]=45; a[i]=a[i-1]*10 + ceil(pow(10,i-1))*45

Код решения (пустой)

// Вставь сюда свой код

Задача Е — решение

Используем тернарный поиск для максимизации суммы префиксов:

  • l = z - y, r = x
  • Находим m1 и m2, обновляем границы
  • Берём максимум среди l <= k <= r

Код решения (пустой)

// Вставь сюда свой код


History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru6 Russian Goddless 2025-08-23 02:21:57 0 (опубликовано)
ru5 Russian Goddless 2025-08-23 02:21:36 2 Мелкая правка: 'turn 0;\n}~~~~~\n\n\' -> 'turn 0;\n}\n~~~~~\n\n\'
ru4 Russian Goddless 2025-08-23 02:20:11 118
ru3 Russian Goddless 2025-08-23 02:18:23 136
ru2 Russian Goddless 2025-08-23 02:16:21 12660
ru1 Russian Goddless 2025-08-23 02:05:15 2695 Первая редакция (сохранено в черновиках)