I was wondering what tags were most common for different difficulties, so I wrote a script to calculate this for the ladders on A2OJ. Here are the results, maybe they will help you to know what topics to focus on (first number is the frequency, second number is the tag):
Div. 2 A Problems (Ladder 4)
(Avg difficulty: 1038)
73 implementation, 24 brute force, 21 math, 20 greedy, 9 strings, 8 sortings, 7 constructive algorithms, 4 number theory, 3 geometry, 1 dp, 1 dfs and similar, 1 two pointers, 1 graphs, 1 shortest paths, 1 binary search, 1 games, 1 data structures
25 800, 23 1000, 15 900, 10 1200, 10 1100, 5 1300, 4 1400, 2 1600, 1 1500, 1 2000, 1 2400
Div. 2 B Problems (Ladder 5)
(Avg difficulty: 1315)
62 implementation, 30 brute force, 28 greedy, 20 math, 13 constructive algorithms, 11 sortings, 10 strings, 7 binary search, 6 bitmasks, 6 geometry, 5 graphs, 5 dp, 5 dfs and similar, 4 number theory, 3 two pointers, 3 data structures, 2 combinatorics, 1 graph matchings, 1 shortest paths, 1 hashing, 1 games, 1 ternary search, 1 probabilities, 1 expression parsing
23 1300, 16 1200, 15 1400, 12 1500, 10 1100, 9 1000, 5 1700, 5 1600, 1 800, 1 900, 1 1800, 1 2100
Div. 2 C Problems (Ladder 6)
(Avg difficulty: 1594)
41 implementation, 26 math, 24 greedy, 20 brute force, 16 constructive algorithms, 14 number theory, 13 dfs and similar, 12 dp, 12 sortings, 10 data structures, 9 binary search, 9 combinatorics, 8 graphs, 6 two pointers, 6 strings, 5 geometry, 3 trees, 3 shortest paths, 2 hashing, 2 matrices, 2 expression parsing, 1 dsu, 1 games, 1 bitmasks
21 1700, 21 1600, 14 1500, 10 1400, 8 1800, 6 1300, 5 1900, 5 1200, 5 2000, 1 1000, 1 1100, 1 2100
Div. 2 D Problems (Ladder 7)
(Avg difficulty: 1896)
38 dp, 24 implementation, 22 math, 18 greedy, 17 dfs and similar, 16 graphs, 14 data structures, 14 binary search, 13 brute force, 11 constructive algorithms, 9 strings, 9 sortings, 8 trees, 7 shortest paths, 7 two pointers, 5 combinatorics, 5 number theory, 5 probabilities, 5 dsu, 3 bitmasks, 3 hashing, 3 geometry, 3 string suffix structures, 2 divide and conquer, 1 games, 1 flows, 1 ternary search, 1 2-sat, 1 expression parsing, 1 graph matchings
17 1700, 16 1800, 16 2000, 12 1900, 8 1600, 7 2100, 7 2200, 3 1500, 3 2500, 3 2400, 2 1400, 2 2300, 1 1200, 1 2600
Div. 2 E Problems (Ladder 8)
(Avg difficulty: 2253)
26 dp, 24 math, 23 data structures, 16 implementation, 16 constructive algorithms, 13 combinatorics, 12 graphs, 12 brute force, 11 greedy, 10 dfs and similar, 10 number theory, 9 binary search, 8 trees, 7 sortings, 6 geometry, 5 dsu, 5 bitmasks, 5 probabilities, 4 flows, 4 shortest paths, 4 games, 4 strings, 3 matrices, 2 ternary search, 2 divide and conquer, 2 hashing, 2 string suffix structures, 1 schedules, 1 two pointers
18 2300, 14 2000, 14 2200, 13 2400, 11 2100, 8 2500, 6 1900, 6 2600, 5 2700, 1 1700, 1 1800