Please subscribe to the official Codeforces channel in Telegram via the link https://t.me/codeforces_official. ×

Разбор задач Educational Codeforces Round 9

Revision ru2, by Edvard, 2016-03-02 01:14:49

632A - Grandma Laura and Apples

Задача предложена пользователем unprost.

Рассмотрим на процесс с конца. Последний покупатель всегда покупает половину яблока и половину получает бесплатно (поэтому последняя строка на самом деле всегда равна halfplus). Далее каждый покупатель удваивает текущее количество яблок и возможно прибавляет к нему единицу. Таким образом, нам просто задано бинарное представление числа записанное с конца. Для подсчёта ответа нужно просто с конца восстанавливать количество яблок попутно, вычисляя сумму денег.

С++ solution by me

С++ solution by unprost

Сложность: O(p).

632B - Alice, Bob, Two Teams

Задача предложена пользователем Lewin Gan Lewin.

Посчитаем частичные суммы на префиксах отдельно для всех чисел (в массиве s1) и отдельно для чисел напротив, которых стоит буква B (в массиве s2). Теперь мы можем за O(1) вычислять сумму на любом подотрезке, а также сумму на любом отрезке по числам напротив буквы B.

Переберем теперь префикс или суффикс и посчитаем сумму в случае его изменения по формуле: sum(s1, 0, n - 1) + sum(s2, 0, i) - s·sum(s1, 0, i) для префикса и sum(s1, 0, n - 1) + sum(s2, i, n - 1) + 2·sum(s1, i, n - 1) для суффикса.

C++ solution by me.

Python solution by Lewin.

Сложность: O(n).

Tags учебный раунд 9, разбор задач

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en7 English Edvard 2016-03-03 02:14:37 138
ru12 Russian Edvard 2016-03-03 02:04:28 140
ru11 Russian Edvard 2016-03-02 17:52:11 122
en6 English Edvard 2016-03-02 17:51:16 2062
en5 English Edvard 2016-03-02 17:29:46 963
en4 English Edvard 2016-03-02 17:17:52 1105
ru10 Russian Edvard 2016-03-02 17:05:02 180
en3 English Edvard 2016-03-02 17:03:47 748
en2 English Edvard 2016-03-02 16:58:00 686
ru9 Russian Edvard 2016-03-02 03:33:59 39
en1 English Edvard 2016-03-02 03:33:00 1838 Initial revision for English translation
ru8 Russian Edvard 2016-03-02 03:24:21 2035 Мелкая правка: '_2},\ldots\n,a_{k_m,j}' -
ru7 Russian Edvard 2016-03-02 02:55:42 4
ru6 Russian Edvard 2016-03-02 02:46:07 2299
ru5 Russian Edvard 2016-03-02 02:11:36 2
ru4 Russian Edvard 2016-03-02 02:08:48 870 Мелкая правка: 'руков [used:pitfall].' -
ru3 Russian Edvard 2016-03-02 01:36:50 1379 Мелкая правка: 'ость: $O(n logn l)$, где $l$ --- наиб' -
ru2 Russian Edvard 2016-03-02 01:14:49 776
ru1 Russian Edvard 2016-03-02 01:03:34 748 Первая редакция (опубликовано)