
La ACM ICPC es una competición internacional de programación por equipos que se celebra todos los años en la que compiten estudiantes universitarios de todo el mundo. Se organizan fases regionales de clasificación y los mejores equipos de cada región compiten en la fase final.
La mejor manera de entrenar para esta competición es resolver muchos problemas del mismo tipo que los que ponen en el concurso. También es necesario conocer muy bien la sintaxis y el funcionamiento del lenguaje de programación que utilicemos (C, C++ o JAVA). La únicas librerias que se permiten son las estándar que acompañan a los compiladores. Es importante conocer los distintos tipos de problemas que se presentan y esto se consigue con la práctica. A menudo suelen aparecer problemas de los siguientes tipos:
Los dos principales sitios para practicar son la página de USA Computing Olympiad (USACO) y el Problem Set Archive de la Universidad de Valladolid (Uva).