Size: a a a

2020 December 14

ГА

Гегам Антонян... in pro.algorithms
Добрый день. До «Если в (3) |x|>1” все понятно, но после не понятно как, скажем если x =2. Может кто нибудь помочь ?
источник

С

Степан in pro.algorithms
Добрый день, подскажите алгоритм решения:

Дан массив дробных чисел. На вход поступает большое кол-во запросов с другими массивами дробных чисел. Для каждого запроса нужно ответить, сколько раз массив встречается в исходном массиве

Как оптимизировать, чтобы каждый раз не пробегаться по исходному массиву?
источник

БВ

Буйный Виталя... in pro.algorithms
Степан
Добрый день, подскажите алгоритм решения:

Дан массив дробных чисел. На вход поступает большое кол-во запросов с другими массивами дробных чисел. Для каждого запроса нужно ответить, сколько раз массив встречается в исходном массиве

Как оптимизировать, чтобы каждый раз не пробегаться по исходному массиву?
Кеш
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
Степан
Добрый день, подскажите алгоритм решения:

Дан массив дробных чисел. На вход поступает большое кол-во запросов с другими массивами дробных чисел. Для каждого запроса нужно ответить, сколько раз массив встречается в исходном массиве

Как оптимизировать, чтобы каждый раз не пробегаться по исходному массиву?
Массив-аргумент встречается k раз в исходном, если каждый его эллемент встречается k раз в исходном?
источник

С

Степан in pro.algorithms
Нет, порядок должен сохраняться, например, в [1.0, 2.0, 1.0, 0.0, 2.0] подмассив [1.0, 2.0] встречается только один раз
источник

С

Степан in pro.algorithms
Буйный Виталя
Кеш
Не совсем понимаю, как тут его применить 🤭
источник

 P

 ‌‌Gleb Pilipets... in pro.algorithms
++
источник

БВ

Буйный Виталя... in pro.algorithms
Степан
Не совсем понимаю, как тут его применить 🤭
Если нету в кеше => ищем в массиве. Если нашли в массиве => положили в кеш. Возможно условие не до конца понял .
источник

AD

Alexey Dergunov in pro.algorithms
подпоследовательность наверно имеется в виду
источник

С

Степан in pro.algorithms
Ну да
источник

С

Степан in pro.algorithms
Буйный Виталя
Если нету в кеше => ищем в массиве. Если нашли в массиве => положили в кеш. Возможно условие не до конца понял .
Запросы вряд ли повторяются)
Подпоследовательность, которую нужно найти, всегда разная
источник

AD

Alexey Dergunov in pro.algorithms
ну можно на запрос отвечать за О(длины запроса * логарифм)
источник

AD

Alexey Dergunov in pro.algorithms
если создать positions[a[i]].push_back(i) а потом бинпоиском искать следующий индекс
источник

С

Степан in pro.algorithms
Именно бинпоиском?

У меня сейчас похожая штука: я храню обратные индексы для всех дробных чисел в изначальном массиве. Когда приходит запрос, беру первое число в запросе и для каждого его индекса проверяю, продолжается ли она в этом месте нужной последовательностью
источник

С

Степан in pro.algorithms
Получается О(количество вхождений первого числа в запросе), но это недостаточно быстро
источник

С

Степан in pro.algorithms
Не совсем понимаю, как исправить положение бинпоиском
источник

AD

Alexey Dergunov in pro.algorithms
есть исходный массив a
источник

AD

Alexey Dergunov in pro.algorithms
создаешь массив positions такой что positions[a[i]].push_back(i)
источник

AD

Alexey Dergunov in pro.algorithms
потом есть запрос
источник

AD

Alexey Dergunov in pro.algorithms
ставишь cur_index = 0
источник