TopCoder y ProjectEuler tienen problemas que se pueden resolver de manera eficiente con ciertas clases en el marco de colecciones. No he usado Codeforces pero creo que mi declaración también se aplica a ese sitio.
De la parte superior de mi cabeza, he usado más Conjuntos, Listas y Mapas en ese orden para resolver estos problemas. También utilicé un BitSet @ HaroldAlmon / ProjectEuler para generar una mayor cantidad de números primos que pude con una matriz de booleanos. La generación de números primos es esencial para resolver muchos problemas que se enumeran en el sitio ProjectEuler.
Mi opinión es que los sitios como TopCoder son excelentes para ganar experiencia con el marco de colecciones porque la mayoría de los desarrolladores dedican mucho tiempo a actividades que no son de codificación.
- ¿Cómo analizaría la complejidad temporal de fibbonacci?
- Si estoy usando Java para la codificación competitiva, ¿tendré problemas de tiempo más tarde por parte de jueces en línea cuando me sumerja en estructuras de datos y algoritmos?
- ¿Es necesario aprender matemáticas discretas antes de comenzar a aprender la estructura de datos y el algoritmo? ¿Y cuál será el mejor libro para hacer lo mismo?
- ¿Puede mostrar que la ordenación por fusión tiene complejidad de tiempo [matemática] O (n \ log n) [/ matemática]?
- Cómo escribir una matriz de distancia para el algoritmo Bellman Ford
En estos sitios, puede concentrarse solo en escribir código. Puede ser un desastre o lo bonito que desee, pero lo que cuenta es la repetición de la resolución de problemas para que sepa exactamente cómo se relacionan las colecciones comunes con su dominio de problemas.