Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión

 
Búsqueda Avanzada

15.707 Mensajes en 3.130 Temas- por 371 Usuarios - Último usuario: lasfirrot
Mayo 18, 2012, 04:06:21
Foro de Hispabyte.netProgramaciónCompeticiones de programación y algorítmicaACM UVATema: 111 History Grading
Páginas: [1]   Ir Abajo
Imprimir
Autor Tema: 111 History Grading  (Leído 1012 veces)
0 Usuarios y 1 Visitante están viendo este tema.
HQH
Administrator
Miembro Imprescindible
*****
Mensajes: 1.813



Ver Perfil
« : Agosto 22, 2006, 08:17:16 »


111 History Grading
http://acm.uva.es/p/v1/111.html

Lo primero es obtener la secuencia correcta, e ir procesando una a una las siguientes secuencias respuesta.

Debemos generar el orden relativo de cada secuencia respuesta respecto a la correcta, y en ella buscar la Maxima Subsecuencia Incrementada (Longest Increasing Subsequence).

Primero hay que tener en cuenta una trampa de este problema, ya que parece que pone el orden a contestar, cuando lo que pone es el rango de cada evento

Si pone

4312 en un caso de prueba, eso significa que el  primer evento esta en cuarto lugar , el 3 que el segundo evento esta en tercer lugar, el 1 que el tercer evento esta en primer lugar y el 2 que el cuarto evento esta en primer lugar.

Tras esto, se "traduciria" 4312 a 3421.
Si el correcto traducido es 321 y la respuesta traducida es 312, el orden relativo sera 132
Tras obtener los ordenes relativos a las contestaciones, se les debe aplicar un algortimo LIS(Longest Increasing Subsequence).


Aqui teneis un ejemplo de LIS

Código:

int lis(int s1[],int tam)
{
  int i,j;
  int max=0;
  int mejores[21];
  for(i=0;i<tam;i++)
  {
      mejores[i]=1;
  }
  for(i=tam-1;i>=0;i--)
  {                    
      for(j=i+1;j<tam;j++)
      {
          if ( s1[j] > s1[i] )
          {
            mejores[i] = maximo( mejores[i] , mejores[j]+1 );
          }
      }
  }
  
  
  for(i=0;i<tam;i++)
  {
     if(mejores[i]>max)
     {
          max=mejores[i];
     }
  }

  return max;
}


« Última modificación: Agosto 22, 2006, 08:18:07 por ]_HQH_[ » En línea
Páginas: [1]   Ir Arriba
Imprimir
Foro de Hispabyte.netProgramaciónCompeticiones de programación y algorítmicaACM UVATema: 111 History Grading
Ir a:  


Tema diseñado por RJ-45 para Hispabyte.net basado en el
theme famouspadexx v.09 designed by Formado Comprido
Downloable here. My present to padexx.de