¿Necesito ser bueno en matemáticas para hacer una programación competitiva?

No es necesario, pero te ayudaría a resolver problemas allí.

Si tiene buenas habilidades analíticas, bastará con el curso de estructuras de datos y algoritmos.

Si no quieres hacer este curso de matemáticas, solo regístrate en CodeForces y comienza a practicar Div. 2 A y Div. 2B problemas. Estas preguntas de tipo requieren implementaciones matemáticas, que requieren su conocimiento matemático. Al practicar, sabrá que estos cursos no son realmente necesarios. La informática se trata de matemáticas y lógica. Realmente no necesita un curso para desarrollar esas habilidades, si practica mucho en plataformas en línea como TopCoder, CodeChef, Codeforces, etc. La clave es la práctica y el trabajo duro. No pierdas el tiempo buscando cursos XYZ que alguien sugirió, simplemente comienza a practicar programación competitiva y mejorarás tú mismo. Puede que les haya funcionado, pero si no estás acostumbrado a hacer cursos en línea, terminarás aprendiendo menos. Tomar un curso electivo en tu universidad es mucho mejor que tomar el mismo curso en línea. Así que simplemente haga una elección informada. Si le queda mucho tiempo para algo en lo que desea aplicar sus habilidades de programación (Pruebas técnicas de trabajo, Competiciones en línea, etc.), hágalo. De lo contrario, comience a practicar de inmediato, a partir de las preguntas básicas de implementación.

No dude en comunicarse conmigo para más consultas. 🙂

Yo diría que no se requieren sólidos conocimientos matemáticos para que la programación competitiva comience, pero aquellos que son buenos en ellos tienen un excelente desempeño en programación competitiva. Pero sí, necesita aprender algunos conceptos básicos como la teoría de gráficos, la teoría de números, etc.

He revisado todas las conferencias del Curso que mencionaste anteriormente (es el mejor curso que encontrarás en Internet). Tom Leighton es excelente en la enseñanza, lo involucrará con la belleza de las matemáticas. Y también es un curso de nivel básico, no encontrarás nada de ciencia espacial en su. Sería de gran ayuda si los revisas primero y luego comienzas una programación competitiva o haces ambos en paralelo. No necesitará las primeras 3 conferencias para una programación competitiva, pero también son increíbles. Y, por supuesto, vale la pena responder a su pregunta.

Todo lo mejor.

No. Saber qué es un derivado y que la definición de límite de épsilon-delta no me ayudó en absoluto en la programación competitiva.

Solía ​​pensar que ser bueno en matemáticas ayudaría enormemente en la programación. Un día, uno de mis amigos consiguió un trabajo en Adobe después de graduarse de la UCI. Le pregunté: “¿Ser bueno en matemáticas ayuda con la codificación?” Él arrugó la cara y respondió: “No, en realidad no. Tuve que tomar un cálculo multivariable para mi título de CS, pero realmente no me ayudó a programar ”.

Para hacer una programación competitiva, solo necesita poder codificar. Sin embargo, ser bueno en matemáticas puede ayudar a resolver problemas de programación.

Creo que cada matemático, y muchos programadores, primero le pedirían que defina sus términos

¿Qué quieres decir con ‘programación’? ¿Y qué quieres decir con “matemáticas”?

Por “matemáticas”, ¿te refieres a la aritmética, la geometría y el cálculo que generalmente se enseñan hasta el nivel secundario? Entonces no, mucha programación no se trata de eso. ¿O te refieres a analizar estructuras, patrones y algoritmos? Entonces sí, ese es el tipo de matemática que se usa principalmente en la programación.

Por programación, ¿te refieres a aprender y usar los símbolos y convenciones de sintaxis de un lenguaje de programación? Entonces no, claro. La programación es muy parecida a aprender y usar un lenguaje humano. ¿O se refiere a formular y analizar ideas abstractas, y expresarlas como diseños o patrones que luego pueden implementarse utilizando un lenguaje de programación? Entonces sí, eso definitivamente es matemática.

Por lo tanto, debe ser bueno en matemáticas para hacer una programación competitiva, porque en la mayoría de los concursos de codificación debe optimizar la complejidad de sus códigos dentro de los límites de tiempo y memoria especificados y eso solo se puede hacer utilizando las técnicas de matemáticas ,, .

Sí, ya que muchos teoremas matemáticos se utilizan para resolver problemas en concursos competitivos como el teorema de Fermat, la función totient de Euler y muchos más.

Existen muchos conceptos matemáticos diferentes, como GCD (grandes divisores comunes, exponenciales modulares y muchos más) que son la clave para resolver problemas en varios concursos.

Y también se incluyen geometría, probabilidad, permutación y combinaciones.

Así que creo que tener buenos conocimientos matemáticos te ayudaría en la codificación competitiva.

Debe comprender que las matemáticas son la base de todos los algoritmos.

Comprender lo que hace un algoritmo y comprender cómo lo hace un algoritmo son dos cosas diferentes.

Sí, puede tener éxito cuando se trata de reducir los problemas que se encuentran en sus dominios conocidos. No necesita saber matemáticas avanzadas como ecuaciones funcionales o funciones generadoras, etc. para tener éxito en la programación competitiva, pero siempre es una ventaja si tiene ese conocimiento adicional.

Lo más importante es que la programación requiere conocimiento sobre lo que se hace la pregunta y qué lógica necesita aplicar. No requiere muchas matemáticas. Suponga que, si se le da algún tipo de programa para resolver, entonces necesita averiguar cuál es la pregunta y luego debe pensar lógicamente cuál es el mejor método para obtener su respuesta.