October 3, 2018

G - Откат

Всё чуть сложнее, чем реализовать персистентное ДО.

Пусть T_i - это массив, где a_j = 1 <=> на суффиксе i...n-1 в изначальном массиве число на j - й позиции встретилось впервые.

То есть для массива 1 2 1 3 1 2 1:

T_0 = [1, 1, 0, 1, 0, 0, 0]
T_1 = [0, 1, 1, 1, 0, 0, 0]
T_2 = [0, 0, 1, 1, 0, 1, 0]
T_3 = [0, 0, 0, 1, 1, 1, 0]
T_4 = [0, 0, 0, 0, 1, 1, 0]
T_5 = [0, 0, 0, 0, 0, 1, 1]
T_6 = [0, 0, 0, 0, 0, 0, 1]

Далее надо сделать бинпоиск.