2012-05-26 14 views

Respuesta

8

Debe encontrar la subsecuencia de incremento consecutiva más larga, que se puede hacer en O (n log n) (ordenando matriz), después de eso, el número de cambios necesarios es N - longest consecutive increasing subsequence. Tenga en cuenta que por consecutivos me refiero a ordenar en matriz ordenada.

por ejemplo:

1 7 6 2 5 4 3 => 1-2-3 es la más larga subsecuencia aumento consecutivo, número de movimientos necesarios es 4.

1 6 4 3 5 2 7 => 1-2 o 4-5 o 6-7 es más larga consecutivos aumentando subsecuencia, tenga en cuenta que el aumento de 1-4-5-7 es más larga subsecuencia pero número de movimientos necesaria es de 5 no 3.

Por qué esto funciona:

mejor algoritmo no cambia algunos de los artículos a los lugares, llame a mayor subsecuencia sin cambios como X, usted no cambia la posición del X elementos relacionados entre sí durante las operaciones, por lo que debe clasificarse en el modo de aumentar. Pero debido a que solo permite mover algunos elementos en la primera o la última matriz, no puede colocar ningún elemento entre X elementos (tenga en cuenta que supusimos que X es la subsecuencia sin cambios más grande durante las operaciones), por lo que no debe haber espacio entre X artículos. por lo tanto, deben ser ordenados y consecutivos en formato ordenado.

El número de cambios necesarios no puede ser menor que el N- length of X, pero tampoco es difícil hacer su trabajo con N-length of X operation.

+0

Por "subsecuencia creciente consecutiva más larga" ¿se refiere a la subsecuencia común más larga de las secuencias ordenadas y ordenadas? – dasblinkenlight

+0

@dasblinkenlight, no lo que mencionaste es la subsecuencia de mayor aumento, mi inglés no es lo suficientemente bueno y no sé cómo explicarlo bien, traté de ilustrarlo con una muestra, por ejemplo en '1 6 4 3 5 2 7 'lo que dije es' 1, 2', pero la subsecuencia de aumento más larga es '1, 4, 5, 7', si no está claro dígame que lo describa, y si comprende lo que quiero decir, siéntase libre de editar mi respuesta para aclararlo –

Cuestiones relacionadas