Colección de algoritmos implementados en Python y mantenida por la comunidad, pensada para el aprendizaje y la educación.
EndlessCheng/codeforces-go
Biblioteca de plantillas en Go con algoritmos y estructuras de datos para programación competitiva, además de soluciones a problemas de Codeforces y LeetCode.
- Estrellas
- 8,785
- Forks
- 829
- Issues abiertos
- 2
- Último commit
- hace 14 días
¿Qué es?
Este repositorio reúne plantillas reutilizables en Go para programación competitiva, organizadas por categorías. Incluye estructuras de datos como árboles de segmentos, árboles de Fenwick, union-find, tries, autómatas de sufijos y árboles link-cut, además de algoritmos de cadenas, teoría de números, combinatoria, FFT/NTT, geometría computacional, programación dinámica y teoría de grafos.
Además de las plantillas, incluye un directorio de conjuntos de problemas organizados por tema y soluciones en Go a problemas de Codeforces, guardadas en un directorio principal. Todas las soluciones siguen un patrón común: una función `run` que recibe `io.Reader` e `io.Writer`, lo que facilita escribir pruebas y hacer pruebas de estrés frente a una implementación por fuerza bruta.
El proyecto está dirigido a quienes practican problemas de algoritmos en Go y quieren consultar plantillas habituales y los conjuntos de problemas que sirven para entrenar.
Funciones clave
- 01Plantillas para árboles de segmentos, árboles de Fenwick, union-find, tries y otras estructuras de datos
- 02Cobertura de algoritmos de cadenas como KMP, autómatas de sufijos y autómata AC
- 03Plantillas de teoría de números, combinatoria, FFT/NTT y geometría computacional
- 04Plantillas de programación dinámica y teoría de grafos, incluidos flujo máximo y LCA
- 05Soluciones en Go a problemas de Codeforces con una estructura de función `run` fácil de probar
Casos de uso
- Practicar problemas de programación competitiva en Go
- Consultar una plantilla lista para usar de una estructura de datos o algoritmo específico
- Seguir un conjunto de problemas organizado por temas para practicar con LeetCode o Codeforces
Inicio rápido
- 1
Explora las plantillas de algoritmos en el directorio copypasta y copia las que necesites
Antes de usarlo
- Es una colección de plantillas de código y soluciones a problemas, no una aplicación ejecutable ni una biblioteca instalable.
Temas
Preguntas frecuentes
- ¿Qué es codeforces-go?
- Biblioteca de plantillas en Go con algoritmos y estructuras de datos para programación competitiva, además de soluciones a problemas de Codeforces y LeetCode. Este repositorio reúne plantillas reutilizables en Go para programación competitiva, organizadas por categorías. Incluye estructuras de datos como árboles de segmentos, árboles de Fenwick, union-find, tries, autómatas de sufijos y árboles link-cut, además de algoritmos de cadenas, teoría de números, combinatoria, FFT/NTT, geometría computacional, programación dinámica y teoría de grafos.
- ¿codeforces-go es gratuito? ¿Qué licencia tiene?
- codeforces-go es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿codeforces-go sigue mantenido?
- Mantenimiento activo. El último commit de codeforces-go fue el 8 oct 2026.
- ¿Para qué puedo usar codeforces-go?
- Practicar problemas de programación competitiva en Go Consultar una plantilla lista para usar de una estructura de datos o algoritmo específico Seguir un conjunto de problemas organizado por temas para practicar con LeetCode o Codeforces
- ¿Cómo se instala codeforces-go?
- Explora las plantillas de algoritmos en el directorio copypasta y copia las que necesites
- ¿Dónde consigo codeforces-go?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/EndlessCheng/codeforces-go
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Colección en JavaScript de algoritmos clásicos y estructuras de datos, cada uno con explicaciones y enlaces para profundizar.
Plataforma de estudio bilingüe y offline-first que reúne preparación para exámenes, archivos de programación competitiva, formación de WorldSkills y textos clásicos en una app o sitio web.
Lista seleccionada de cursos de robótica en línea, clases universitarias, libros y recursos prácticos para aprender por cuenta propia, con etiquetas bilingües.
Colección de código Python y libro de texto sobre algoritmos de robótica que abarcan localización, mapeo, SLAM, planificación de rutas y control.
Colección bilingüe de más de 100 diagramas originales que explican LLM, RL, RLHF, DPO, GRPO y algoritmos relacionados con modelos grandes.