En programación de computadoras, ¿cómo leo las preguntas más rápido y comprendo mejor en TopCoder?

Esto me recuerda los episodios de entrenamiento que hice como parte de la práctica de mi equipo de ICPC el año pasado. Por lo general, las declaraciones en tales concursos (en su mayoría europeos) tenían historias que intentaban simular el mundo real y, a veces, sería muy doloroso leer toda la historia, lo que llevó algo de tiempo. No es que todas las historias no sean interesantes, pero a veces esos segundos y minutos son un factor importante; He visto equipos que tienen una diferencia de tiempo total en segundos en concursos importantes.

Entonces, yo era el tipo que tenía que leer los enunciados del problema rápidamente y reducir el problema a como máximo 1 oración, que luego pasé rápidamente a mis compañeros de equipo para pensar. Por ejemplo, considere este problema (abrir en una pestaña nueva para una versión clara).

Una declaración de línea para esto, que yo juzgaría es “Tenemos que adivinar una cadena de bits desconocida [matemática] S [/ matemática] de tamaño [matemática] N [/ matemática] en casi [matemática] N + 500 [/ matemática] consultas, donde cada consulta es una cadena de bits [matemática] T [/ matemática] que proporcionamos y se nos dice una de las tres cosas sobre la distancia de hamming de [matemática] S [/ matemática] y [matemática] T [/ matemática] de [matemáticas] N / 2 [/ matemáticas], [matemáticas] N [/ matemáticas] o ninguna de estas “.

Sin embargo, este problema de la historia aburrida es sorprendente.

Advertencia: spoiler adelante .

Durante todo el concurso seguimos intentando un enfoque determinista que parece que realmente no existe. El enfoque es algo así como: si ha adivinado una cadena de bits [matemática] T [/ matemática] tal que la distancia de Hamming de [matemática] S [/ matemática] y [matemática] T [/ matemática] es [matemática] N / 2 [/ math], entonces puedes llegar a [math] S [/ math] en las consultas [math] N [/ math] (¿Puedes pensar cómo?). Entonces, tenemos al menos 500 consultas para la tarea anterior. Aparentemente, no hay un enfoque determinista para hacer eso. Sin embargo, si sigue adivinando la cadena al azar, no necesitará más de 50 consultas incluso en el caso de [matemáticas] N = 1000 [/ matemáticas].

Volviendo a la persecución , la clave para leer las declaraciones (para mí) rápidamente es pasar por alto la declaración del problema, sin embargo, prestar mucha atención a algunos detalles importantes y al mismo tiempo referirse a la sección de entrada y salida, de hecho, a veces incluso antes de leer el planteamiento del problema. Creo que tendrás que encontrar tu propia forma de leer las cosas rápidamente con algo de práctica.

Yo diría que deberías tomarte todo el tiempo que necesites para leer la pregunta.
Cualquier algoritmo generalizado para leer la pregunta más rápidamente es inevitablemente menos eficiente o tiene errores. Leer toda la pregunta correctamente vale la pena a largo plazo.
Aquí hay un ejemplo:
Si bien no puedo encontrar una imagen ingeniosa, actualmente, preste atención a estas tareas para ganar un juego en particular:

  • Mira la hora.
  • Lea todas las instrucciones cuidadosamente.
  • Haz 20 abdominales.
  • Baila como un mono.
  • Llora como un cocodrilo.
  • Ve y proclama tu amor a tu madre.
  • Divide un átomo.
  • Haga caso omiso de todo hasta ahora.
  • Levanta las manos en el aire para reclamar la victoria.

* La mayoría de las personas terminan haciendo todas las tareas y luego terminan pareciendo tontos.

En cuanto a tratar de aumentar tu velocidad: practica .

Así que lee bien .
De lo contrario, la respuesta a esta pregunta se habría visto así:
Todos los cuerpos permanecen en movimiento uniforme o en reposo hasta que una fuerza externa actúe sobre ellos.

¡Salud!

Estoy de acuerdo con el Usuario-12437784013887434377 – con una advertencia. Si su cerebro no está programado para la programación, ninguna cantidad de práctica puede cambiar eso. (¿Cómo juegas baloncesto profesional si tienes 3 pies de altura?) Algunas personas miran un problema y ven la solución en el problema (ninguna escrita en una forma tan compleja como Lalit Kundu publicó) ya que ven el problema para el primera vez, mientras que otros reflexionan sobre el problema durante días antes de pensar que tienen una respuesta, que puede ser correcta o incorrecta. Si eres del segundo tipo, eres derrotado antes de comenzar (no puedes “aprender” a “volver a cablear tu cerebro”), así que encuentra una línea diferente a seguir: ¿la cría de animales, tal vez?

More Interesting

¿Qué significa una entrevista en la pantalla del teléfono?

Cómo resolver la siguiente pregunta en Java: tengo dos listas vinculadas, que representan dos números: l1: 2-> 3-> 4, l2: 7-> 8; agregue estos dos números y almacene el resultado en l1, es decir, l1 debería convertirse en l1: 3-> 1-> 2

Cómo destacar en una entrevista técnica cuando no soy el mejor

¿Cuál fue la mejor experiencia de entrevista que has tenido?

¿Cuándo es el momento adecuado para que un graduado universitario (CSE) comience a leer el libro 'Cracking the Coding Interview'?

¿Qué tan importante es estar familiarizado con los lenguajes de programación que usa una empresa antes de solicitar un trabajo?

¿Qué está haciendo la siguiente macro?

¿Cuántos problemas de entrevista necesito resolver aproximadamente antes de estar listo para una entrevista con las principales compañías de software?

Cómo dar una buena entrevista de codificación técnica

Dada una cadena, ¿encuentra la longitud de la subcadena más larga donde ningún personaje se repite dos veces?

¿Qué se debe preparar para una entrevista técnica en pantalla telefónica?

¿Por qué las compañías tecnológicas dan a los solicitantes entrevistas técnicas en lugar de hacer que tomen una prueba escrita como el CS GRE?

¿Es posible que un ingeniero sin experiencia en CS obtenga un trabajo en Google, Facebook, Microsoft o Amazon en 6 meses?

¿Es cierto que en las grandes compañías de desarrollo de software, el número promedio de líneas de código libres de errores escritas en un día por desarrollador es inferior a 10?

¿Estudiar el examen SCJP (Sun Certified Java Programmer) es una buena manera de preparar una entrevista para Google, Facebook o Amazon?