¿Necesito seguir la ruta de programación competitiva para ser muy bueno en el desarrollo de algoritmos?

No, sinceramente, no sé si la programación competitiva realmente tiene algún efecto en detectar candidatos muy buenos para la investigación de Algoritmos. Lo aprendí cuando era estudiante universitario por diversión, pero, francamente, esas competiciones son más técnicas de programación y recuerdo que una investigación matemática genuina donde normalmente hay mucho más a mano. Normalmente, los problemas que abordas en estas competiciones ya tienen soluciones, las que probablemente encuentres en la investigación, por lo tanto, muchas de las técnicas que conoces no te ayudarán.

Para agregar a la respuesta de Miles Fidelman a ¿Necesito pasar por la ruta de programación competitiva para ser muy bueno en el desarrollo de algoritmos ?, diseñar nuevos algoritmos requiere una gran cantidad de paciencia. Por lo general, el objetivo final para alguien que trabaja en Algoritmos es demostrar que el algoritmo hace lo que usted dice que hace.

Como alguien que ha realizado algunas de estas competiciones, puedo decirles que no tuvo ningún efecto en el trabajo que he publicado hasta ahora en mi investigación científica en Algoritmos.

Dudoso.

En primer lugar, los matemáticos, científicos e ingenieros han estado desarrollando algoritmos durante siglos, antes del advenimiento de la programación competitiva. Y dudo que alguno de los grandes algoritmos haya sido desarrollado por personas que hayan sido programadores competitivos.

En segundo lugar, el desarrollo de algoritmos más real tiene que ver con la resolución de problemas de dominio de aplicación, ya sea modelado de moléculas biológicas, optimización de operaciones de despacho, control de maquinaria o lo que sea necesario. La programación competitiva, o gran parte de lo que pasa por la educación en el desarrollo de algoritmos, no ayudará mucho (si es que lo hace) cuando se trata de trabajar en dominios de aplicación específicos.