Я хочу ранжировать и разблокировать перестановки с одним циклом в лексикографическом порядке с данным len.
Перестановка с одним циклом - это то место, где вы можете посетить в этом цикле каждый элемент.
p:= (2,3,1)
- перестановка с одним циклом. Имеет ранг 1.
p:= (3,1,2)
также имеет 1 цикл, но ранг 2, потому что перестановка лексикографически больше, чем фрист, поэтому она становится более высокой.
p:= (1,2,3)
- перестановка с 3 цикла (1),(2),(3)
Как эффективно ранжировать (перестановка с одним циклом для ранжирования) и отменять (ранг + длина до перестановки с одним циклом) в лексикографическом порядке? Я понятия не имею, как архивировать это.