Secuencia de Josefo

Descripción: Hay personas de pie en un círculo esperando ser ejecutadas. El conteo comienza en algún punto del círculo y continúa alrededor del círculo en una dirección fija. En cada paso, un cierto número de personas se omiten y la siguiente persona se ejecuta. La eliminación se realiza alrededor del círculo (que se está volviendo más y más pequeño a medida que se eliminan las personas ejecutadas), hasta que solo queda la última persona, a la que se le da libertad.

Busqué en Google este 'problema de Josephus' y el éxito de Wikipedia me da una solución de programación dinámica:f(n,k)=((f(n-1,k)+k-1) mod n)+1, with f(1,k)=1, pero esto solo rinde al último superviviente. ¿Cómo puedo obtener la secuencia de las personas ejecutadas? Diga, p (5, 3) = {3,1,5,2,4}.

Además, ¿hay unO(nlogn) solución en lugar de unaO(nk) ¿uno?

Respuestas a la pregunta(5)

Su respuesta a la pregunta