Size: a a a

2020 July 15

CD

Constantine Drozdov in pro.algorithms
А в группе левый потомок ДО по корню и правому считается
источник

CD

Constantine Drozdov in pro.algorithms
хотя мб я не помню входные, давно этот момент разбирал
источник

KK

Kirill Kaymakov in pro.algorithms
Mikail Bagishov
Ну, отсечь до от фенвика по памяти можно, думаю.
Ну в сложных задачах, справедливости ради, сложно отсечь до от фенвика и не схватить какую-ибудь фигню, что чувак лишний раз скопировал массив и получил мл)
источник

KK

Kirill Kaymakov in pro.algorithms
По времени проще
источник

DK

Dmitry Kozyrev in pro.algorithms
@webreh как-то сказал, что Фенвик это ДО без одной ветви. Типо если ты хранишь сумму в узле, то знать сумму в левом и правом поддеревьях - избыточно, так как sumRoot = sumLeft + sumRight
источник

CD

Constantine Drozdov in pro.algorithms
да, это было в 14;14 примерно)
источник

mq

m q in pro.algorithms
Kirill Kaymakov
Причем одно - красный, другое - нутелла
а зачем ты так отдельно выделил красных или нутелл?
до написанное желтым отличается от до написанного нутеллой чем то принципиально?
источник

DK

Dmitry Kozyrev in pro.algorithms
m q
а зачем ты так отдельно выделил красных или нутелл?
до написанное желтым отличается от до написанного нутеллой чем то принципиально?
ну tourist нумерует узлы в порядке эйлерова обхода, а желтый нумерует узлы 2*v+1, 2*v+2, кто-то копирует персистентное ДО на всякий случай чтобы стрелять из написанной и отдебаганной пушки по воробьям, кто-то пишет ленивое или неявное, или на указателях. Все ДО разные
источник

KK

Kirill Kaymakov in pro.algorithms
Dmitry Kozyrev
ну tourist нумерует узлы в порядке эйлерова обхода, а желтый нумерует узлы 2*v+1, 2*v+2, кто-то копирует персистентное ДО на всякий случай чтобы стрелять из написанной и отдебаганной пушки по воробьям, кто-то пишет ленивое или неявное, или на указателях. Все ДО разные
2*v и 2 * v + 1 же
источник

KK

Kirill Kaymakov in pro.algorithms
m q
а зачем ты так отдельно выделил красных или нутелл?
до написанное желтым отличается от до написанного нутеллой чем то принципиально?
Во-первых, как дима и написал, нутеллы юзают как раз эйлерову версию до (до бабочки вроде называется), да и там сильно эффективнее код получается
источник

KK

Kirill Kaymakov in pro.algorithms
И дело там не только в до в той задаче
источник

DK

Dmitry Kozyrev in pro.algorithms
Kirill Kaymakov
И дело там не только в до в той задаче
у меня проседает только формирование списка ивентов, то есть, произвольный доступ RAM 2 * n * log(1e9) раз
источник

KK

Kirill Kaymakov in pro.algorithms
Dmitry Kozyrev
у меня проседает только формирование списка ивентов, то есть, произвольный доступ RAM 2 * n * log(1e9) раз
Ну вон топовое решение работает за 300 мс, мое 1.5с
источник

KK

Kirill Kaymakov in pro.algorithms
(Найдите разницу)
источник

DK

Dmitry Kozyrev in pro.algorithms
Kirill Kaymakov
Ну вон топовое решение работает за 300 мс, мое 1.5с
то есть n*log(1e9) на ивентах работает медленнее чем n * log(1e9) * log(n) от фенвика
источник

KK

Kirill Kaymakov in pro.algorithms
Dmitry Kozyrev
то есть n*log(1e9) на ивентах работает медленнее чем n * log(1e9) * log(n) от фенвика
А там также log^2)
источник

KK

Kirill Kaymakov in pro.algorithms
Эта задача не решается за nlog
источник

KK

Kirill Kaymakov in pro.algorithms
Просто тупо потому что код эффективнее написан
источник

DK

Dmitry Kozyrev in pro.algorithms
Kirill Kaymakov
А там также log^2)
смотри, мое решение состоит из двух частей:
1. формирование списка событий
2. обработка списка событий
первая часть имеет асимптотику O(n log(n)), вторая O(n log(n)^2)

Вторая работает быстрее первой в два-три раза
источник

KK

Kirill Kaymakov in pro.algorithms
Dmitry Kozyrev
смотри, мое решение состоит из двух частей:
1. формирование списка событий
2. обработка списка событий
первая часть имеет асимптотику O(n log(n)), вторая O(n log(n)^2)

Вторая работает быстрее первой в два-три раза
Да
источник