Size: a a a

2020 March 20

CD

Constantine Drozdov in pro.algorithms
А вообще надо наверное прекальки по count посчитать
источник

CD

Constantine Drozdov in pro.algorithms
Для каждого юзера когда событие было
источник

MB

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

CD

Constantine Drozdov in pro.algorithms
Много count у много юзеров не бывает
источник

 P

 ‌‌Gleb Pilipets in pro.algorithms
Mikail Bagishov
Амортизированная единица вроде бы
Хм... Интересно
источник

MB

Mikail Bagishov in pro.algorithms
Мы один раз пушим в очереди.
Мало раз достаем.
И мб перекладываем.
источник

CD

Constantine Drozdov in pro.algorithms
Так что давайте посчитаем для мелких count просто всю структуру ответов по count
источник

CD

Constantine Drozdov in pro.algorithms
Поддержка будет видимо занимать MAX_PRECALCED на register
источник

CD

Constantine Drozdov in pro.algorithms
Пушо надо подвинуть когда событие было
источник

 P

 ‌‌Gleb Pilipets in pro.algorithms
Mikail Bagishov
Мы один раз пушим в очереди.
Мало раз достаем.
И мб перекладываем.
Просто, если в очереди для юзера 1 будет лежать момент с временем 10, а потом мы пушим момент 400 для юзера 2, то когда мы обновим очередь для юзера 1? И далее запрос на моменте времени 402.
Пусть step = 10
источник

MB

Mikail Bagishov in pro.algorithms
 ‌‌Gleb Pilipets
Просто, если в очереди для юзера 1 будет лежать момент с временем 10, а потом мы пушим момент 400 для юзера 2, то когда мы обновим очередь для юзера 1? И далее запрос на моменте времени 402.
Пусть step = 10
Ну да, мы должны слелать это в RegisterEvent.
источник

 P

 ‌‌Gleb Pilipets in pro.algorithms
Прикольно, если там действительно амортизированная O(1)
источник

MB

Mikail Bagishov in pro.algorithms
Значит нужна еще одна большая очередь событий, с помощью которой мы при регистрации нового события почистим мусор
источник

MB

Mikail Bagishov in pro.algorithms
Constantine Drozdov
Так что давайте посчитаем для мелких count просто всю структуру ответов по count
Видимо мелкие, это которые меньше sqrt(N)?
источник

MB

Mikail Bagishov in pro.algorithms
Хотя не, я так не умею решать.
источник

MB

Mikail Bagishov in pro.algorithms
Короче: для плохих step я умею решать только за O(N sqrt N) в оффлайн. (Алгоритм Мо по массиву событий).
источник
2020 March 21

Д🍋

Димон 🍋 in pro.algorithms
Добрый день
Наткнулся на задачу (устное собеседование ) которую не решил за время собеседования и хотел бы попрактиковать такой тип задач
на leetcode нашел похожее но и то не уверен
Примерная формулировка:

Имеется N процессов (время начала и время конца) и некоторый процессор может выполнять только K процессов за раз (K процессов могут пересекаться в смысле)
нужно оптимально вставить новый процесс в нашу очередь выполнения (тоже по сути пара (начало, конец)

с интервалами этими и проверкой пересечения запутался и написал что-то неэффективное и хотелось бы почитать про такое вот
Спасибо.
источник

MB

Mikail Bagishov in pro.algorithms
Димон 🍋
Добрый день
Наткнулся на задачу (устное собеседование ) которую не решил за время собеседования и хотел бы попрактиковать такой тип задач
на leetcode нашел похожее но и то не уверен
Примерная формулировка:

Имеется N процессов (время начала и время конца) и некоторый процессор может выполнять только K процессов за раз (K процессов могут пересекаться в смысле)
нужно оптимально вставить новый процесс в нашу очередь выполнения (тоже по сути пара (начало, конец)

с интервалами этими и проверкой пересечения запутался и написал что-то неэффективное и хотелось бы почитать про такое вот
Спасибо.
Что значит оптимально вставить?
источник

Д🍋

Димон 🍋 in pro.algorithms
Mikail Bagishov
Что значит оптимально вставить?
Имел ввиду оптимальный алгоритм вставки нового процесса для выполнения
источник

ПК

Паша Калугин in pro.algorithms
какое ограничение на N?
источник