Изменения

Перейти к: навигация, поиск

Алгоритм Фарака-Колтона и Бендера

25 байт добавлено, 12:04, 31 марта 2016
Псевдокод
ST[i][j] = ST[i][j - 1]
<font color=green>// Посчитаем хеш для каждого блока {{---}} он будет являться типом блока</font>
'''for''' i = 0 '''to''' K - 1
hash[i] = 0
cur_block = 0
j = 0
'''for''' i = 0 '''to''' K - 1 hash[i] = 0 '''forwhile''' i = 0 '''to''' < N - 1or j < K '''if''' j <tex>\geqslant</tex> block_size
j = 0
cur_block++
'''if''' j > 0 '''and''' (i <tex>\geqslant</tex> n N '''or''' A[i - 1] < A[i])
hash[cur_block] += (1 << (j - 1))
i++
j++
<font color=green>// Осталось только для каждого блока предподсчитать позиции минимумов на всех подотрезках</font>
'''for''' i = 0 '''to''' K - 1
Анонимный участник

Навигация