107
правок
Изменения
→Специализация алгоритма для генерации предыдущего битового вектора
По построению получаем, что <tex>Q</tex> {{---}} минимально возможный.
== Специализация алгоритма для генерации предыдущего битового вектора ==
[[Файл:Prevbitvector.png|200px|thumb|right|искомый суффикс, преобразование]]
* Находим минимальный суффикс, в котором есть <tex>1</tex>, его можно уменьшить, не изменяя оставшейся части
* Вместо <tex>1</tex> записываем <tex>0</tex>
* Дописываем максимально возможный хвост из единиц
'''int[]''' prevVector('''int[]''' a): <font color=green>// <tex>n</tex> {{---}} длина вектора</font>
'''while''' (n >= 0) '''and''' (a[n] != 1)