Список разборов
0
0
43
Разборы → Разбор Склад 1
Задача на динамическое программирование. Будем хранить состояния типа dp[t][h]. Где t - текущее время, h - текущая высота башни, которую мы построили. а в dp[t][h] мы будем хранить максимальный запас энергии, который имеется у Васи. Если такого состояни...
3
0
67
Разборы → Разбор Счастливый билетик - 2 1
Эту задачу можно решить при помощи RSQ (решение "втупую" может и не пройти). Просто строим бинарное дерево за O(N), затем пускаем цикл с 1 до N, и находим максимальную сумму (за O(NlogN)) на отрезке (1-i,i-N). В итоге эффективность нашего алгоритма...
rsq3
4
80
Разборы → Разбор Степень 3
В случае если если
b
четное тогда выполняем
(2 * a) * ( b / 2)
если
b
не четное уменшаем
b
на еденицу и прибавляем к ответу само число
a
естественно взяв все по модулю
c
,и после этого число
b
сново четное ...
4
0
68
Разборы → Разбор Flags 2
А еще есть более простое решение: будет испольховать одномерную динамику ,как в числах Фиббоначи сначала найдем базу для динамики для N=1 ответ равен 2 (БЕЛЫЙ или КРАСНЫЙ) для N=2 ответ равен так же 2 (БЕЛЫЙ и КРАСНЫЙ...
2
1
62
Разборы → Разбор Бизнес центр 1
если мы нажмем
t
раз вверх , тогда
(n - t)
раз должны нажать вниз.
И мы в конце окажемся на этаже
t * u - ( n - t) * d
.
т.е у нас теперь есть функция
f(t)=t * u - ( n - t ) * d
;
и можно доказать что функция...
2
0
69
Разборы → Разбор Лесенки 1
Переформулируем нашу задачу на язык математики. В каждом следующем слое (считая сверху вниз) кубиков больше, чем в предыдущем, а в сумме их n. Значит, нам требуется представить n в виде суммы возрастающих натуральных слагаемых.
...
3
0
62
Разборы → Разбор Подпоследовательности 1
Пусть c1,c2, ... ,cn, - данная последовательность.
Покажем, как найти длину максимальной возрастающей
подпоследовательности, заканчивающуюся в элементе ck (обозначим ak).
Предположим, она уже найдена.
Удалим из ...
olympiads.ru2
0
65
Разборы → Разбор Степень 1
на
Jave
есть такая функция modPow .
т.е ans=a.modPow(b,c).
а
a
,
b
,
c
типа
BigInteger
.
4
0
90
Разборы → Разбор Делители 2
Сначала напишем наивное решение этой задачи :
1. cnt=0;
2. for (int i = 1;i<(int)sqrt(n);i++)
3. if (n % i == 0) cnt =(cnt + 2)%2 // делители i,n/i
4. if (n%(int)sqrt(n) == 0) cnt=(cnt+1)%2; ...
-1
2
94
Разборы → Разбор Кладоискатель 1
Решение задачи:
a*b/LCM(a,b)
LCM(a,b) = a*b/GCD(a,b)
=>
GCD(a,b)
3
3
97
Разборы → Разбор Язык Мумба-Юмба 1
После прочтения этой задачи вам наверно сразу покажется что лексикон Мумба-юбийцев(или Мумбаюбов :) не очень богат,количество слов в их словаре не больше 17!Что же касается решения задачи - перебор!Вот и все!при N>17 ответ к задаче будет равен нулю...
-3
0
65
Разборы → Разбор Зайцы в клетках 1
Как узнать сколько зайцев поровну попадут в каждую клетку? Поделить нацело M / N Если еще остались зайцы то их можно. Но не более одного в каждую клетку. если M mod N больше нуля, добавляем еще по один. Вот и ответ.
Powered by django, eJudge.