Size: a a a

2020 April 13

A

Aragaer in pro.algorithms
и как результат - после поиска одного пути уже вся память была бы забита
источник

K

Kotomord_λapki in pro.algorithms
кстати, есть ли гарантии, что  длина пути не меньше, чем k, для которого ищем статистику?
источник

D

Dmitry in pro.algorithms
Есть набор символов (например А Б С Д Е), нужно составить все возможные пары из этих символ, при этом например АБ = БА. Есть какой то нормальный алгоритм делающий такое. Или только вложенными циклами?
источник

A

Aragaer in pro.algorithms
а вложенные циклы это не нормальный?
источник

A

Aragaer in pro.algorithms
for (i = 0; i < n; i++)
 for (j = i+1; j < n; j++)
   printf("%c%c", sym[i], sym[j]);
источник

D

Dmitry in pro.algorithms
Aragaer
for (i = 0; i < n; i++)
 for (j = i+1; j < n; j++)
   printf("%c%c", sym[i], sym[j]);
Ну вот я имел ввиду не такое) Просто, мне нужно сделать подобное для стобцов матрица, где строчки это последовательности символов. Т.е. тройной уже цикл получается.
источник

A

Aragaer in pro.algorithms
все равно надо сгенерить все, а число итераций тут ровно то, которое нужно
источник

f

fashdrag (VladKov) in pro.algorithms
Kotomord_λapki
кстати, есть ли гарантии, что  длина пути не меньше, чем k, для которого ищем статистику?
Да
источник

f

fashdrag (VladKov) in pro.algorithms
Решил так за log
источник

f

fashdrag (VladKov) in pro.algorithms
Переслано от fashdrag (VladKov)
Бинарным поиском перебираем значение элемента. Для него будем узнавать количество элементов < x. Пусть get(root, u) - количество таких элементов от корня до вершины u. Тогда мы можем найти количество на пути и понять k-ая порядковая ли эта статистика по формуле get(root,u) + get(root,v) - 2 * get(root, lca)
Чтобы находить количество таких за log , надо построить перс ДО от корня. Типо строим ДО для корня, потом новую версию для его сыновей, в которой log n вершин изменяются, остальные ведут на корня. Ну думаю ты знаешь что такое перс ДО.
источник

f

fashdrag (VladKov) in pro.algorithms
Переслано от fashdrag (VladKov)
Количество чисел <= x запрос суммы к нужной версии ДО
источник

f

fashdrag (VladKov) in pro.algorithms
Переслано от fashdrag (VladKov)
Если делать спуск по одновременно трем деревьям, будет чистый лог
источник

K

Kotomord_λapki in pro.algorithms
красиво
источник

K

Kotomord_λapki in pro.algorithms
попробовать, что ли, там зарегиться и сдать варварство за полторалог
источник

K

Kotomord_λapki in pro.algorithms
Хотя понял, что есть корень проще
источник

K

Kotomord_λapki in pro.algorithms
для каждой вершины храним отсортированный массив значений в её sqrt(N) предках
Итого каждый запрос сводится к поиску k-го в объединении максимум sqrt(N) массивов, при этом создавать из них, а не поднимать из памяти, нам нужно только один
источник

MB

Mikail Bagishov in pro.algorithms
fashdrag (VladKov)
Как найти k-ую порядковую статистику на дереве(пути), где значения указаны в вершинах?
Лес персистентных ДО, как и в случае с массивом
источник

MB

Mikail Bagishov in pro.algorithms
igor
Жадники на матроидам работают
Не все жадники являются матроидами.
источник

MB

Mikail Bagishov in pro.algorithms
В массиве мы спускаемся по двум ДО: на левой и правой границе. А тут по трем:
Два дерева для каждого из концов, и еще одно для из LCA.
источник
2020 April 14

K🇹

Kenzis254 🇹🇼 in pro.algorithms
источник