teejorob's blog

By teejorob, history, 4 hours ago, In English

Have been fairly consistent in solving div2 C across the last few contests. Have never solved a Div2 D during contest(ever). Any and all advice (topics required, curated problem sets, courses) is most welcome. Hope to reach expert soon :D

  • Vote: I like it
  • +2
  • Vote: I do not like it

»
3 hours ago, # |
  Vote: I like it -7 Vote: I do not like it

change ur pfp first of all

  • »
    »
    3 hours ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    I will, when I find a better one :D

    • »
      »
      »
      3 hours ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      After seeing your new pfp, I see you made a great improvement.

  • »
    »
    3 hours ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    lol

»
3 hours ago, # |
  Vote: I like it 0 Vote: I do not like it

Congratulations on reaching Specialist, teejorob! It's a solid milestone, and your consistency with Div2 C problems shows you're on the right track. Tackling Div2 D problems is the next big challenge, so here are some tips to help you level up:

  1. Strengthen Fundamental Topics Div2 D problems often require combining concepts or going deeper into a specific topic. Ensure you're confident in these areas:

Dynamic Programming: Start with classical problems (Knapsack, Longest Increasing Subsequence) and gradually move to problems with state optimizations or transitions involving clever tricks. Graphs: Focus on BFS/DFS, shortest paths (Dijkstra, Bellman-Ford), and sometimes even flows or matching problems. Data Structures: Segment Trees, Fenwick Trees, and more advanced techniques like Persistent DS or Mo's Algorithm can show up. Combinatorics/Math: Modular arithmetic, prime factorization, combinatorial counting, and probability. If you're unsure about gaps in your knowledge, revisit topics using platforms like CP-Algorithms or video tutorials.

  1. Curated Problem Practice To get comfortable with Div2 D problems, try solving slightly easier problems first and gradually ramp up difficulty:

Use A2OJ ladders or problem sets from Codeforces sorted by rating (e.g., 1600-1900). Start with "Easier Div2 D" problems (rated ~1600-1700). You can filter on Codeforces by contest number and problem letter. Platforms like CSAcademy, AtCoder Beginner/Regular Contests, and CSES Problem Set are great for diverse practice. 3. Courses/Resources Structured Learning: Consider paid/free courses from platforms like Codeforces EDU, CS50 (Harvard), or "Algorithmic Toolbox" on Coursera. Competitive Programming Books: "Competitive Programmer’s Handbook" by Antti Laaksonen or "CP4" by Halim and Halim are fantastic for structured progression. YouTube Channels: Errichto, William Lin, and CodeNCode often dissect problems and provide insights on Div2 D-like problems. 4. Contest Strategy Approach Div2 D systematically: Even if you can’t solve it fully, try to break the problem into smaller pieces. Look for observations, simplify constraints, or solve for specific cases. Post-contest analysis: After every contest, spend time dissecting the Div2 D problems you couldn’t solve. Implement their solutions to internalize new techniques. Upsolving: Prioritize problems that feel "almost solvable" during contests. These are the ones where you're close to breaking through. 5. Practice Patience and Focus on Process Reaching Expert requires time, persistence, and learning from failures. Celebrate small improvements, and don't get discouraged by occasional bad contests. Track your progress and focus on consistent practice!

Best of luck, and I hope to see you hit Expert soon! Feel free to share if you’re stuck on specific problems; the community is here to help.

»
2 hours ago, # |
  Vote: I like it +4 Vote: I do not like it

The only thing you need link.