Size: a a a

2020 March 20

 P

 ‌‌Gleb Pilipets in pro.algorithms
Constantine Drozdov
Query точный или приближенный?
Точный
источник

 P

 ‌‌Gleb Pilipets in pro.algorithms
Mikail Bagishov
Step может как угодно меняться?
точно не знаю, но начали с того, когда он постоянный.
источник

CD

Constantine Drozdov in pro.algorithms
Ну то есть надо в мапе найти количество элементов больше определенного, добро пожаловать в декартовы деревья декартовых деревьев)
источник

MB

Mikail Bagishov in pro.algorithms
 ‌‌Gleb Pilipets
Пусть сначало это константа. Если в такой формулировке
Тогда можно в явном виде поддерживать для каждого юзера, сколько событий произошло за последний time. И для cnt хранить, у скольких юзеров такое cnt.
Это что-то типа двух хэшмап
источник

MB

Mikail Bagishov in pro.algorithms
Но да, если левые границы (т.е. cur_time-step) немонотонные, то у меня нет идей кроме двумерных деревьев.
источник

CD

Constantine Drozdov in pro.algorithms
Короче, я бы уже расчехлял корневую
источник

 P

 ‌‌Gleb Pilipets in pro.algorithms
Mikail Bagishov
Тогда можно в явном виде поддерживать для каждого юзера, сколько событий произошло за последний time. И для cnt хранить, у скольких юзеров такое cnt.
Это что-то типа двух хэшмап
А можешь детальнее сказать? Что будет хранится для каждого юзера?
источник

CD

Constantine Drozdov in pro.algorithms
Как её тут правильно писать-то
источник

CD

Constantine Drozdov in pro.algorithms
 ‌‌Gleb Pilipets
А можешь детальнее сказать? Что будет хранится для каждого юзера?
Для юзера нет альтернативы хранению сортированного набора событий
источник

 P

 ‌‌Gleb Pilipets in pro.algorithms
Constantine Drozdov
Для юзера нет альтернативы хранению сортированного набора событий
То есть хранения моментов времени, когда эти события произошли?
источник

CD

Constantine Drozdov in pro.algorithms
Угу
источник

CD

Constantine Drozdov in pro.algorithms
Это же все могут спросить
источник

MB

Mikail Bagishov in pro.algorithms
 ‌‌Gleb Pilipets
А можешь детальнее сказать? Что будет хранится для каждого юзера?
Для юзера храним вектор с моментами событий, которые пока что актуально.
источник

MB

Mikail Bagishov in pro.algorithms
А точнее очередь
источник

 P

 ‌‌Gleb Pilipets in pro.algorithms
Понял, и отдельно отображение count на количество юзеров с количеством событий равным count?
источник

MB

Mikail Bagishov in pro.algorithms
Соответственно новое событие пушится в конец очереди. Протухшее удаляется  из начала.
источник

MB

Mikail Bagishov in pro.algorithms
 ‌‌Gleb Pilipets
Понял, и отдельно отображение count на количество юзеров с количеством событий равным count?
Да. После каждого изменения каждой очереди при необходимости перекладываем юзера.
источник

MB

Mikail Bagishov in pro.algorithms
Это решение работает, если step растет не быстрее, чем time. В частности, если step фиксирован
источник

 P

 ‌‌Gleb Pilipets in pro.algorithms
А какая тогда сложность RegisterEvent? Мы должны будем пробегатся по всех юзерах, чтобы обновить их очередь зарегестрированных событий?
источник

 P

 ‌‌Gleb Pilipets in pro.algorithms
Или когда мы будет обновлять эти очереди
источник