¿Cómo son los problemas de programación competitiva? ¿Son problemas que afectan a la sociedad que pueden resolverse mediante algoritmos informáticos? ¿Puede dar un ejemplo?

La mayoría de los problemas de programación competitiva se basan en algunos de los algoritmos bien conocidos sobre cadenas, teoría de gráficos, teoría de números y el arte de la programación dinámica. Algunos de los problemas también son ad-hoc, donde debe pensar en una solución en el acto, diseñar un nuevo algoritmo (puede ser mix-n-match en los existentes).

Eso fue desde la teoría y la perspectiva del tema. Ahora, llegando a señalar de qué se trata realmente ese problema y las habilidades necesarias para resolverlos. Muchas de estas preguntas parecen fáciles de ver y creemos que podemos resolverlas con bastante facilidad. Pero, luego vienen las restricciones, a saber, la memoria y los cálculos disponibles. Por lo tanto, el objetivo principal es realizar una tarea con una cantidad limitada de memoria y cálculos y pensar en la técnica de optimización para hacer un equilibrio entre dos.

La gente buena en codificación competitiva puede resolver muchos problemas de la vida real. Algunos de los ejemplos más famosos son:
1) La búsqueda de Google se basa en hash.
2) Los sitios de redes sociales se basan en gráficos y sus algoritmos para hacerlo más rápido.

Ahora, llegando a la vida real que no sean problemas técnicos. Hay muchos problemas / desafíos que uno enfrenta en la vida. Puede dividir fácilmente cualquier problema en subproblemas y resolverlos uno por uno al involucrar un costo mínimo (el costo aquí significa tiempo / esfuerzo). Por lo tanto, puede resolver un problema con el mínimo tiempo / esfuerzo posible. Ese es el instinto básico de la codificación competitiva, basado en mi experiencia.