Изменения

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

Получение номера по объекту

21 байт убрано, 06:15, 26 ноября 2011
Перестановки
== Перестановки ==
Рассмотрим алгоритм получения номера в лексикографическом порядке по данной перестановки размера n.
<tex>P_{P[n} </tex> ] ''{{---}} количество перестановок размера n
permutation[n] ''{{---}} данная перестановка''
was[n] ''{{---}} использовали ли мы уже эту цифру в перестановке''
'''for''' j = 1 '''to''' a[i]-1 '''do''' ''// перебираем элемент который может стоять на i-м месте лексикографически меньше нашего
'''if''' was[j] = false ''// если элемент j ранее не был использован
'''then ''' numOfPermutation += <tex>P_{P[n-i} </tex> ] ''// все перестановки с префиксом длиной i-1 равным нашему, и i-й элемент у которых меньше
'' нашего в лексикографическом порядке идут раньше данной престановки
was[i] = true ''// элемент i использован
394
правки

Навигация