Cómo ser bueno en matemáticas para la programación competitiva

Aclarar tus pensamientos puede ayudar mucho. Estos son algunos de los pensamientos que se me ocurren cuando trato de resolver un problema matemático:

  • Usaré mi intuición. A veces tengo una “idea” de qué enfoque podría necesitar adoptar para resolver un problema. A veces tengo razón, a veces no.
  • ¿Entiendo toda la notación?
  • ¿Hay alguna manera de que pueda modificar la información que me proporcionan para que sea más fácil trabajar con ella?
  • ¿Qué sé sobre la hipótesis / supuestos? ¿Qué sé sobre la conclusión? ¿Qué sé y qué quiero saber?
  • ¿Puedo trabajar al revés?
  • ¿Hay casos iniciales / especiales que facilitarían este problema?
  • A la mierda, haré un dibujo.
  • ¿He resuelto una instancia más fácil de este tipo de problema antes?
  • ¿Puedo hacer una instancia más fácil de este problema?

En general, debe conocer las matemáticas del concepto subyacente a un problema y cómo conectar esa matemática para resolver ese problema. En otras palabras, ¿comprende qué es la matemática detrás de este problema y cómo se conecta con la solución?


Consejo genérico: la práctica perfecta hace la perfección. Si está luchando con un tipo particular de problema, haga su tarea y descubra lo que necesita saber para resolver ese tipo de problemas (por ejemplo, probablemente tendrá problemas para resolver problemas de DP si no sabe qué es la recurrencia). ¡Buena suerte! Gracias por el A2A.

Resuelva problemas en SPOJ con la etiqueta # ad-hoc y #math.
Tema específico de Google vinculado con la etiqueta y aprender el pseudocódigo e intentar implementar el mismo.

Los siguientes son los temas matemáticos básicos que necesita aprender.

  1. Número Thoery- seive, fibonacci, prueba de primilidad, mcd, aritmética modular, ecuación diofantina, etc.
  2. probabilidad- Teorema de Bayes, distribución de probabilidad, etc.
  3. Combinatoria: permutaciones, arreglos, clasificación
  4. Estadísticas: media, mediana, varianza.
  5. Teoría de gráficos: ruta, nodo, coloración, coincidencia, flujo, etc.

Conferencias de video | Matemáticas para la informática | Ingeniería Eléctrica e Informática | MIT OpenCourseWare Este curso casi cubre todos los temas.

Aprender matemáticas es diferente de aprender matemáticas para la programación competitiva.

La mejor manera de aprender matemáticas para una programación competitiva es resolver problemas en jueces en línea como SPOJ, HackerRank, Hacker Earth y muchos más allí (spoj es lo mejor para problemas relacionados con las matemáticas). Los sitios web como topcoder no se concentran en muchas matemáticas, sino que se concentran más en algoritmos.

Elija los problemas de los jueces en línea y cuando piense en el problema una y otra vez, comprenderá que esto es algo relacionado con las matemáticas que no conoce. Sin dudarlo, busque ese tema matemático en particular. Aprende a la mayor profundidad posible y luego vuelve a resolver el problema. En realidad, esta es la forma más fácil de ser bueno en matemáticas relacionadas con la programación competitiva. Esta manera funciona para mí, pero también hay algunos tipos a los que les gusta aprender todos los conceptos antes y luego visitar los problemas.

Si aprende los conceptos antes, ¿dónde dejaría de aprender los conceptos para visitar los problemas, ya que no tiene fin? Y cuándo aprenderá a ver un problema y detectar el patrón matemático en él y decidirá usar alguna fórmula.

Contestaré esta pregunta en mi experiencia personal.

Quiero seguir MCA después de mi graduación de BSc IT. Aprendí c / c ++, java, oráculo pero era débil en matemáticas desde la escuela.

Cuando decidí seguir MCA más tarde, me uní a una institución para comenzar a aprender matemáticas competitivas. Debido a la debilidad en las matemáticas, todo el tema de las clases hasta 2-3 semanas rebotó en mi cabeza.

Entonces, me dije a mí mismo que de esta manera no podría aprender matemáticas y descifrar los exámenes de competencia.

Por lo tanto, una solución vino a mi mente. Compré el libro de matemáticas 11-12 y comencé a aprender todos los conceptos básicos. Incluso comencé a aprender trucos para resolver todas las matemáticas básicas de multiplicación, división, raíces cuadradas y cubos, etc.
Luego comencé a hacer programas java, c ++ en estos conceptos básicos de matemáticas.

De esta manera aprendí matemáticas básicas como probabilidad, progresión aritmética y geométrica, componente dividendo, integración, módulo, polinomio, etc., lo cual es muy útil cuando el maestro nos enseña las matemáticas de nivel MCA.

Creo que deberías comenzar con los conceptos básicos de las matemáticas como combinación de permutación, probabilidad, estadística, cálculo, ecuaciones lineales, cuadráticos, etc.

Siéntese durante un par de horas y decídase a estudiar los conceptos básicos. No dude en aprender lo que aprenden los niños de 7-8 estándares. Si crees en los fundamentos de un edificio, nadie puede derrumbarlo. Confiar en ti mismo.

No estoy seguro de cuántos de ustedes sienten lo mismo, pero tiendo a profundizar más y más para resolver un problema. Eso me deja en una situación en la que necesitaba aprender muchas matemáticas antes de resolver el problema a mi entera satisfacción. Pero de alguna manera siento que necesitamos parar en algún lado y decir ‘OK, sé esto a un alto nivel, no necesito profundizar más’. En algún momento, cuando alguien tiene una comprensión decente de los fundamentos básicos de las matemáticas, todas las demás cosas derivadas se parecen más a ‘Herramientas’, que deben usarse en el contexto correcto. Entonces, lo que uno necesita saber para resolver problemas de matemáticas es … 1) Revisar las matemáticas de la vieja escuela en un grado razonable resolviendo tantos problemas como sea posible con diferentes soluciones. 2) Ahora construya un conjunto de lo que yo llamo ‘Herramientas’ o pepitas de matemáticas que ayudan a resolver un problema sin profundizar

Para el n. ° 1, proveniente de la escuela india, recomendaría comenzar a leer los libros NCERT (clase VI a clase XII) disponibles para descarga pública en el Consejo Nacional de Investigación y Capacitación Educativa

  • Hay muchas maneras de mejorar sus habilidades matemáticas para la codificación competitiva, puede comenzar escribiendo códigos para álgebra simple y fórmulas de geometría que recuerde aún más, puede ir a HackerRank y practicar el dominio de las matemáticas, tienen problemas de dificultad fácil, medio, difícil y avanzado entonces te ayudaría a mejorar gradualmente. Si desea problemas más difíciles, puede ir a HackerEarth: desafíos de programación y trabajos de desarrollador o competencia de programación, concurso de programación, programación informática en línea y resolver problemas matemáticos allí. También puede ir al Juez de Esfera en línea (SPOJ) y practicar allí las preguntas de matemáticas clasificando primero la presentación más fácil o más exitosa. No dude en visitar estos sitios web, hay muchos codificadores que están encantados de ayudarlo y también excelentes foros de discusión si desea discutir algo.

Para aprender nuevos algoritmos, puede visitar http://www.geeksforgeeks.com , tiene muchos artículos sobre matemáticas y algoritmos.

Espero que esto ayude.

Las matemáticas tienen su papel en la programación competitiva, pero no tanto. En la programación competitiva, lo único que importa es su capacidad de resolución de problemas. Hay tantos hilos sobre cómo mejorar sus habilidades para resolver problemas. Puedes revisarlos y practicar mucho. Estoy bastante seguro de que te verás mejorando en matemáticas y cp. Esperanza, esta respuesta puede ayudarte. No pienses demasiado, solo comienza a hacerlo. Mantenga la codificación y la codificación feliz: tada 😉

Lea mi biografía aquí en este enlace, donde se explica cómo mejorar paso a paso la programación competitiva.

Poco a poco comprenderá las complejidades, y sus matemáticas irán creciendo a medida que avance. Todo lo que tienes que hacer es comenzar.

La mayoría de las personas que ignoran las matemáticas lo harán hasta cierto punto, después de 3 meses a 1 año, vuelven a comprender los mismos problemas con mejores matemáticas que ya obtuvieron al resolver la primera vez. Es normal.

Espero que haya ayudado.

La mejor de las suertes.

Le sugiero que lea el libro de álgebra de publicaciones de Arihant prescrito para IIT-JEE.
Y no olvides pasar por la geometría de SL Loney.
Además, intente aprender las propiedades de la función Modulo que está fácilmente disponible en Internet.
Rem, Google es tu mejor amigo . 🙂

Al pasar por el proceso de resolver muchos, muchos problemas. Y al ser inteligente con tu práctica. Simplemente practicar la resolución de problemas lo llevará lejos pero no a la cima.

Al principio perderá porque está comenzando de nuevo y no es tan bueno como otros, que han puesto más práctica … pero comenzará a mejorar. Y si sigue así, será lo suficientemente bueno y definitivamente alcanzará el 10-20% superior.

Hay algunos otros factores que influyen en qué tan bien lo haces cuando llegas al 20% superior … resuelve acertijos y toma cursos en varias materias basadas en matemáticas y lógica (álgebra lineal, cálculo, matemáticas discretas, teoría de la información, etc.). Una vez que te acerques a la cima, necesitarás un poco de suerte para llegar a la cima (suponiendo que otros cerca de la cima también hayan hecho un esfuerzo similar).

Con más preparación, puede reducir la suerte requerida, pero nunca puede eliminarla por completo (se le podría hacer una pregunta difícil que su competidor podría haber resuelto antes, o podría enfermarse el día de la competencia).

Las matemáticas son un tema de prácticas . No es un libro histórico, puedes entenderlo solo leyendo. Entonces, si quieres ser poderoso en matemáticas, debes resolver cada vez más problemas por ti mismo.

  • Primero lea el problema, piense en el camino para resolverlo y aplíquelo.
  • Si falla, intente de otra manera.
  • Luego, vea la forma correcta de descender.
  • SIMPLE Y FÁCIL

Mathematics for Computer Science es un recurso realmente bueno para repasar algunas habilidades en matemáticas relacionadas con la programación (especialmente pruebas). Consulte también la sección de lectura si cree que los videos son largos (que tiene una duración promedio de aproximadamente 60 minutos).

Aprenda la teoría de los números del material educativo que es Matemáticas para la informática, no es necesario estudiar ningún libro, ver el video a diario para obtener más información del video.

Y este es el enlace para el tutorial.

El bello arte de contar | Matemáticas de secundaria | MIT OpenCourseWare que contiene el pdf … lea desde aquí también …

Otro enlace a pdf …

http://web.stanford.edu/class/cs

https://algo.is/aflv16/aflv_10_m

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DE LOS MEJORES SOLICITUDES

Espero eso ayude

Un recurso muy útil para aprender matemáticas para principiantes es el Arte de resolver problemas . Me ayudó mucho con mis habilidades de programación. Puede omitir algunas de las secciones, pero créanme que es lo mejor cuando se trata de matemáticas.

Puede parecer que los videos son para niños de dos años, pero realmente ayudan. No hay problemas de buenas prácticas allí por cierto. Debe consultar los sitios de programación competitivos para aplicarlos.

Y después de eso: práctica. Practica y practica.

PD: Decir por experiencia personal. Las opiniones pueden diferir.

Visite el sitio web de Khan Academy y realice un curso de álgebra y probabilidad y estadísticas. Puede obtener las mejores explicaciones de una manera lúcida.

Pregúntame si aún necesitas más ayuda.

Todo lo mejor.

Para una programación competitiva, estudie más sobre algoritmos y manipulación de matrices y especialmente sobre el problema Napsack, el problema Travel Sales-man y las matemáticas aplicadas con lenguaje de programación c ++ o java

Recursos de programación He hecho esto para todas aquellas personas que desean comenzar su programación competitiva. He agregado todas las cosas importantes necesarias para convertirse en un buen programador competitivo. Espero que esto les guste.

Práctica. La única forma en que mejorarás tus habilidades matemáticas es haciendo matemáticas. ¡Consigue una pizarra (o algo similar) y ve a la ciudad!

More Interesting

Dado un conjunto de n rectángulos alineados en el eje en el plano, ¿qué tan grande es el subconjunto más grande de estos rectángulos que contienen un punto común en O (n ^ 3) y luego en el orden O (nlogn)?

¿La teoría de números todavía parece ser central o el área más importante de las matemáticas?

¿Por qué la mayoría de los informáticos tienen un título en matemáticas?

¿Volver a la Universidad para estudiar Matemáticas me ayudará a comprender completamente la lógica del algoritmo de la IA y la Programación Funcional?

¿Cuánto se puede ocultar una imagen antes de que sea irreconocible?

Cómo encontrar el límite superior de una secuencia recursiva

¿Qué se necesita para hacer un compilador para C ++?

Aunque amo CS y la programación, soy malo en matemáticas. Mi lógica para desarrollar programas es débil. ¿Qué debo hacer para mejorar mis habilidades lógicas y dónde puedo aprender las matemáticas esenciales para la programación?

¿Qué es el error numérico?

¿Debo demostrar la mayoría de los teoremas en los libros de texto de matemáticas al aprender? (Lea los detalles).

¿Podría alguien ayudarme a determinar qué camino en mi educación se adaptaría mejor a mis intereses?

Cómo calcular el área debajo de y = cosx [0, pi / 2] en C

¿Cuáles son algunos algoritmos y estructuras de datos relevantes para la robótica?

¿Hay alguna prueba matemática de que los lenguajes de computadora modernos pueden representar cualquier algoritmo finito usando una cantidad finita de código?

¿Cómo podría razonar matemáticamente sobre la corrección y solidez de un programa en programación funcional?