¿Cómo prepararse para la Facebook Hacker Cup?

Facebook hacker cup es un concurso anual de programación algorítmica organizado por Facebook. Ya sean estudiantes, profesionales o expertos, atrae a numerosos entusiastas de la programación de todo el mundo. Los principales contendientes son elegibles para la entrevista telefónica de Facebook para el rol de Desarrollador de software.taza de hackers de facebook  

¿Cuál es el proceso?

Facebook Hacker cup es particularmente conocido por sus diferentes entornos utilizados para juzgar y la variedad de problemas. Se lleva a cabo en muchas rondas donde la dificultad de los desafíos algorítmicos sigue aumentando. Enlace de registro

¿Cuáles son los premios? (Puede variar año a año)

Los 25 finalistas recibirán los siguientes premios (en USD:

  • 1er Lugar: $20,000 USD
  • 2do Lugar: $10,000 USD
  • 3er Lugar: $5,000 USD
  • 4to Lugar: $3,000 USD
  • 5to Lugar: $1,000 USD
  • 6to-10mo Lugar: $500 USD
  • 11°-15° Lugar: $300 USD
  • 16°-25° Lugar: $200 USD

Organizado en el mes de agosto Facebook Hacker cup se lleva a cabo en 4 series ronda:

  1. Ronda de calificación: esta es la ronda más fácil en la que se debe resolver con éxito al menos 1 problema para avanzar a la siguiente ronda. Esta ronda tiene una duración de 72 horas.
  2. Ronda 1: los candidatos seleccionados participan en la ronda 1, que dura 24 horas y deben ganar al menos una cierta cantidad de puntos (que se decide cada año) para calificar para la ronda 2. Esta ronda es bastante más difícil que la ronda de calificación.
  3. Ronda 2: Los candidatos seleccionados de la ronda 1 avanzan para participar en la ronda 2 y competir en un concurso de formato de 3 horas. Los 200 mejores participantes avanzan a la Ronda 3 y los 500 mejores participantes reciben camisetas de Hackercup.
  4. Ronda 3: Los 200 mejores participantes compiten en este concurso de formato de 3 horas y los 25 mejores califican para la final presencial. A partir de ahora el problema planteado se pone difícil.
  5. Final presencial: Los 25 mejores participantes de todo el mundo compiten por ganar el título y el trofeo de la copa de hackers de Facebook en su sede. Los problemas son bastante desafiantes y son lo suficientemente buenos como para hacer que los concursantes suden de pies a cabeza. El límite de tiempo para la ronda final es de 4 horas, el ganador de la ronda final será el campeón de la Copa Hacker.

Y la primera persona en la clasificación gana el título y disfruta de la gloria.

Formato y Entorno

El formato de evaluación de la copa de hackers de Facebook es bastante diferente al de otros concursos de programación anuales como ACM-ICPC o IOI.

  • Cuando comienza el concurso, los usuarios deben iniciar sesión en el sitio web.
  • Después de iniciar sesión, se les presenta el conjunto de problemas. Después de que crea que ha resuelto un problema y esté seguro de que es correcto, debe descargar un archivo de prueba de entrada.
  • Tan pronto como se descarga el archivo de prueba de entrada, comienza un temporizador de 6 minutos y en esa ventana de tiempo debe ejecutar el archivo de prueba de entrada sobre su código y formar un archivo de prueba. En 6 minutos, debe enviar tanto el código como el archivo de texto de salida.
  • Puede enviar más de una vez y solo se utilizará la última presentación correcta para la evaluación.
  • Una vez que el temporizador expire, no podrá volver a enviar la solución para ese problema. Una penalización de tiempo es la suma de los tiempos de envío de un problema.

¿Cómo preparar?

Facebook Hacker cup es particularmente famoso por sus desafíos algorítmicos innovadores y alucinantes. Inclinado más hacia las matemáticas y una combinación de varios conceptos, las copas del hacker prueban el conocimiento, la implementación, la precisión, la velocidad, la conceptualidad y casi todo por sus diferentes rondas. Tienes que ser rápido para sobrevivir a más rondas e innovador para sobrevivir a las largas rondas iniciales. Estos son los temas principales que se deben hacer a fondo, ya que los problemas generalmente se plantean a partir de más de 1 tema combinado.

Teoría de los números

  1. Algoritmo euclidiano y euclidiano extendido
  2. Aritmética modular e inversa modular
  3. Primera generación ( tamiz y tamiz segmentado )
  4. teorema de Fermat
  5. Función Euler Totient
  6. Prueba de primalidad de Miller Rabin
  7. Teorema del resto chino
  8. Teorema de Lucas.

 Algoritmos codiciosos

  1. Problema de selección de actividad
  2. Algoritmo de Kruskal
  3. Algoritmo de Prim.

Búsqueda binaria

  1. TopCoder-búsqueda binaria
  2. Búsqueda binaria
  3. Búsqueda binaria ubicua  : obtenga una idea de la búsqueda binaria discreta y continua.

Estructuras de datos

  1.  listas enlazadas
  2. Árbol de búsqueda binario
  3. Árbol indexado binario o árbol Fenwick
  4. Árbol de segmentos ( RMQ , Range Sum y Lazy Propagation )
  5. Árboles rojo-negros
  6. hash

Una extensa lista de estructuras de datos

Algoritmos gráficos

  1. Búsqueda primero en amplitud (BFS)
  2. Primera búsqueda en profundidad (DFS)
  3. Ruta más corta desde el origen hasta todos los vértices **Dijkstra**
  4. Ruta más corta de cada vértice a cualquier otro vértice **Floyd Warshall**
  5. Árbol de expansión mínimo **Prim**
  6. Árbol de expansión mínimo **Kruskal**
  7. Clasificación topológica
  8. algoritmo de johnson
  9. Puntos de articulación (o vértices de corte) en un gráfico
  10. Puentes en un gráfico

Todos los algoritmos gráficos

Algoritmos de strings

El aprendizaje de las funciones de la biblioteca para String en realidad resulta muy útil (C++: Vea esto y esto , String en Java ).

  1. Algoritmo KMP
  2. rabin karpe
  3. algoritmo de Z
  4. Coincidencia de cuerdas Aho Corasick
  5. Arrays de sufijos
  6. prueba
  7. Autómatas finitos

Programación dinámica

  1. Programación Dinámica – GeeksforGeeks
  2. Programación Dinámica – Codechef

La programación dinámica es bastante importante y se puede infundir y preguntar con varios otros temas. Algunos tipos diferentes de conceptos de DP son: DP clásico

  1. Subsecuencia común más larga
  2. Subsecuencia creciente más larga
  3. Editar distancia
  4. Partición mínima
  5. Formas de cubrir una distancia
  6. Ruta más larga en Matrix
  7. Problema de suma de subconjuntos
  8. Estrategia óptima para un juego
  9. 0-1 Problema de mochila
  10. Programación de la línea de montaje

Todos los algoritmos de DP

Geometría Computacional

  1. Algoritmos de casco convexo
  2. Algoritmos Geométricos

En general, la copa Facebook Hacker es un concurso muy desafiante y una persona necesita una gran cantidad de entrenamiento y perseverancia y todos los temas estándar deben ser grabados y entendidos. ¡La práctica es la única manera de hacerlo! Puntos extra:

  1. Practica en Codeforces (especialmente la sección GYM ) y TopCoder Arena . Esto realmente ayudará en la comprensión básica.
  2. Los problemas de Facebook Hacker Cup tienen un estilo diferente a Codeforces y Topcoder, probablemente la mejor comparación sería con Google Code Jam que tiene un formato similar.
  3. Revisa las preguntas anteriores de Facebook – HackerCup y familiarízate con el formato del concurso.

Este artículo es una contribución de Yash Kodesia en asociación con Team GeeksforGeeks . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *