| DJC | Tutoriales |
Programación Competitiva - DJC
La programación competitiva es una disciplina en la que se resuelven problemas algorítmicos bajo condiciones de tiempo limitado, a menudo en plataformas y competencias online como Codeforces, HackerRank o LeetCode.
Esta práctica ayuda a mejorar habilidades clave como la lógica, el pensamiento crítico, la optimización de algoritmos y la rapidez para resolver problemas complejos.
Es muy útil para quienes buscan fortalecer su capacidad para resolver desafíos técnicos, prepararse para entrevistas de trabajo en tecnología, y participar en concursos internacionales que pueden abrir puertas a becas, empleos o reconocimientos.
En esta sección comparto mi progreso y experiencias en competencias de programación, enfocándome principalmente en Codeforces. Aquí podrás encontrar análisis, soluciones y resultados de los distintos concursos en los que participo.
Plataformas de Programación Competitiva
Las plataformas de programación competitiva son espacios en línea donde los programadores pueden resolver problemas algorítmicos, participar en concursos en tiempo real y mejorar sus habilidades a través de la práctica constante.
Principales Plataformas
-
Codeforces
Una de las plataformas más populares. Ofrece concursos semanales, un amplio problemset y un sistema de rating similar al ajedrez. -
AtCoder
Plataforma japonesa conocida por la calidad y claridad de sus problemas. Muy recomendada para aprender desde lo básico hasta temas avanzados. -
LeetCode
Enfocada en entrevistas técnicas y práctica de algoritmos. Además de competencias, es ideal para prepararse para trabajos en tecnología. -
HackerRank
Combina competencias de programación con práctica por categorías (algoritmos, estructuras de datos, IA, SQL, etc.). -
CSES Problem Set
Colección de problemas muy bien organizada, ideal para practicar progresivamente algoritmos y estructuras de datos. -
TopCoder
Una de las plataformas más antiguas de programación competitiva, famosa por sus Single Round Matches (SRM) y marathon matches. Pionera en la comunidad de programación competitiva. -
Kaggle (orientado a ciencia de datos)
Aunque no es estrictamente de programación competitiva tradicional, permite resolver retos de machine learning y análisis de datos en comunidad.
Cómo elegir una plataforma
- Si buscas concursos frecuentes → Codeforces o AtCoder
- Si quieres prepararte para entrevistas → LeetCode o HackerRank
- Si prefieres aprender de forma progresiva → CSES Problem Set
- Si quieres vivir competiciones clásicas → TopCoder
Recursos adicionales
- Guías de iniciación en cada plataforma
- Comunidades en Discord, Reddit y grupos locales
- Blogs y tutoriales de entrenamiento competitivo
Competencias en Codeforces
Mis herramientas
Vim
Yo suelo programar en vim, la configuración de vim que hago es
" Customized
set nu
syntax on
set relativenumber
set encoding=utf-8
set list listchars=tab:>\ ,trail:.,precedes:{,extends:}
" Indentación por defecto en todos los archivos
set expandtab " convierte tabs en espacios
set tabstop=4 " un tab = 4 espacios al mostrar
set shiftwidth=4 " autoindent usa 4 espacios
set softtabstop=4 " <Tab> y <BS> cuentan como 4 espacios
set autoindent " copia la indentacion de la linea anterior
set smartindent " indentacion un poco mas inteligente
tnoremap <C-j> <C-\><C-n>gt
suelo guardar esta configuración en un archivo(por ejemplo vimrc.log) o en (.vimrc) y luego podría cargarlo estando ya con vim así:
:source <nombre-archivo>
con el archivo vimrc.log sería
:source vimrc.log
Windows
Cuando estoy en windows suelo reducir el path así:
prompt $G$S
Próximamente iré agregando más concursos y contenido relacionado con estrategias y aprendizajes.
| DJC | Tutoriales |