A2A.
Particularmente, nunca he participado en ACM-ICPC, pero tengo bastante conocimiento sobre programación competitiva. Lo que pasa con DP es que es un estilo de resolver un problema en sí mismo (al igual que la recursividad), mientras que BFS, DFS, etc. son solo algunos algoritmos / métodos utilizados para resolverlo. Bueno, puedes realizar un Floyd Warshall usando DP, en lugar de usar bucles anidados Ref- Programación dinámica | Set 16 (Algoritmo de Floyd Warshall) – GeeksforGeeks. O podría aplicarlo a problemas como LCS o subcadenas como mencionó.
Dicho esto, depende de usted considerar si dedicar tiempo a aprender DP o aprender algunos algoritmos más. Cuando aprenda DP, no solo aprenderá a optimizar sus soluciones para ajustarse al límite de tiempo dado, sino que también ampliará su pensamiento programático. Por ejemplo, la aplicación de métodos recursivos para resolver un programa como Sumas en un Triángulo no lo llevaría a ninguna parte debido a TLE. Debe aplicar un DP allí. Yo diría que solo lo aprenda !!. No importa cuánto practique, el próximo problema de DP siempre parece nuevo. Lleva mucho tiempo pero vale la pena.