Skip to content

Atman's Study Plan -- CF 1100 --> 2100

Genre note. This file is a coaching document, not a reference. It is written as a direct second-person plan for the notebook's primary user. The schedule, rhythm, and phase milestones generalize to any 1100→2100 trajectory; the voice is intentionally personal. Read it as a worked example of how to structure a 32-week progression — the structure transfers even if the addressee does not.

"The best competitive programmer isn't the one who knows the most algorithms.It's the one who practiced the right things in the right order."

3 hours a day, 5 days a week, one step at a time. No shortcuts, no rushing, no skipping practice. Trust the process — every week the problems get a little easier, and that feeling compounds.

Quick Revisit

  • Structured 32-week progression from CF 1100 to 2100, 15 hours/week.
  • Four phases: Foundations (W1-7), Core Skills (W8-15), Intermediate (W16-24), Advanced (W25-32).
  • Coaching tone — personalized to Atman, but the rhythm transfers.

Contents


How This Plan Works

Time budget: 3 hours/day x 5 weekdays = 15 hours/week

Weekly rhythm:

DayTypeStructure
MondayNew Topic1h read concept --> 2h solve problems from that topic
TuesdayPractice30m review yesterday's topic --> 2.5h problem solving
WednesdayNew Topic1h read concept --> 2h solve problems from that topic
ThursdayPractice30m review --> 1h virtual contest --> 1.5h upsolve
FridayNew Topic1h read concept --> 2h solve problems from that topic

How to study a topic (1 hour):

  1. Read Layers 1-3 (Pain --> Key Insight --> Visual Walkthrough) -- 20 min
  2. Read the code, type it out yourself (don't copy-paste while learning) -- 15 min
  3. Read Layers 4-5 (Invariant --> When to Reach) + Patterns -- 15 min
  4. Glance at Cheat Sheet + Gotchas -- 10 min

How to practice (2 hours):

  1. Start with the easiest 2-3 practice problems from the file -- 60 min
  2. If stuck >20 min on a problem, read the editorial, then re-solve from scratch
  3. Attempt 1 medium problem -- 40 min
  4. Review: write down what you learned in 2-3 sentences -- 20 min

Weekends: Rest. Seriously. Your brain consolidates while you sleep and relax. If you want to do something, do a virtual contest for fun. No new topics.


The Rules

  1. Never skip practice for more concepts. Understanding without practice = forgetting.
  2. If a topic doesn't click, spend an extra day on it. The plan has flex weeks built in.
  3. Do at least 1 virtual contest per week (Thursday). Start with Div 2 A-C.
  4. Track your solves. After each practice session, note: problem name, whether you solved it, what technique it used, what you learned.
  5. Review weekly. Every Friday evening, skim through the week's cheat sheets. Can you recall the key insight for each topic?
  6. Be patient with yourself. Rating plateaus are normal. They mean you're about to break through.

Mental Traps

Watch out for these -- they look like progress but they're not.

"More is better." 10 problems analyzed deeply beat 30 problems skimmed. After every wrong answer, ask: what was the trigger I missed? Grinding without reflection is comfortable but slow.

"I need to learn X before I can start Y." Prerequisites matter, but perfectionism on prerequisites is procrastination. You can start HLD with basic DFS and learn the rest in context. Don't polish the foundation forever.

"I'm progressing because I'm solving problems." Only if those problems are above your current level and require new ideas. Solving 10 problems at your rating is maintenance, not growth. Ask: did I learn something new?

"A good plan will make me better." Plans don't improve you -- executing them does. The uncomfortable hour stuck on a hard problem is the actual investment. The plan is just the schedule.

 STUDY PLAN TIMELINE (32 WEEKS)
 ====================================================================

 Phase 1: Foundations Phase 2: Core Skills
 CF 1100 --> 1400 CF 1400 --> 1700
 +-----------------------+ +----------------------------------+
 |W1 W2 W3 W4 W5 W6| W7 |W8 W9 W10 W11 W12 W13 W14 | W15
 |arr map srt win src grp| [REST] |mon rng grd var NT grp DP | [REST]
 |bit tre BS pfx mth BFS| |stk seg con tern cmb dij knap |
 +-----------------------+ +----------------------------------+
 ^ Start here ^ Div 2 A+B consistent

 Phase 3: Intermediate Phase 4: Advanced
 CF 1700 --> 1900 CF 1900 --> 2100+
 +----------------------------+ +----------------------------------+
 |W16 W17 W18 W19 W20 W21 | |W25 W26 W27 W28 W29 W30 W31 | W32
 |lzy swp MTM mat SP LCA | |trp SCC HLD CHT SA SAM CDQ | [REST]
 |W22 W23 W24 | |bip cen flw DnC aho pal PBS FFT |
 |bmk KMP [REST] | +----------------------------------+
 +----------------------------+ ^ Div 1 B/C reachable
 ^ Div 2 C in 40 min

 Legend: [REST] = consolidation week (no new topics)

Phase 1: Foundations (CF 1100 --> 1400)

Goal: Build a rock-solid foundation. After this phase, you should be able tosolve Div 2 A and B consistently, and sometimes C.

Week 1 -- Arrays, Bits, and Basic Structures

DayTopic FileFocus
Monarrays-and-stringsVectors, string ops, iteration patterns
TuePracticeSolve 4-5 CF 800-1000 implementation problems
Wedbit-manipulationBinary basics, AND/OR/XOR, checking bits
ThuPractice + VirtualDiv 2 virtual contest (focus on A+B speed)
Frilinked-list-basics + stack-queue-dequeQuick read (linked lists are rare in CP), stack/queue deeply

[read] Also read this week: cf-tips-and-workflow, common-templates

Week 2 -- Maps, Trees, and Ordered Structures

DayTopic FileFocus
Monhash-map-and-unordered-mapFrequency counting, O(1) lookup
TuePracticeSolve 4-5 problems using maps (frequency, counting, lookup)
Wedtree-basicsTree terminology, traversals
ThuPractice + VirtualDiv 2 virtual contest
Friset-and-multiset + priority-queue-and-heapsOrdered containers, heaps

Week 3 -- Sorting, Searching, and Two Pointers

DayTopic FileFocus
Monsorting-and-searchingCustom sort, lower_bound, upper_bound
TuePracticeSort-based problems (CF 800-1100)
Wedbinary-searchBinary search on answer -- this is HUGE
ThuPractice + VirtualDiv 2 virtual, try to solve C
Fritwo-pointersOpposite ends, same direction, sorted arrays

Week 4 -- Windows and Prefix Sums

DayTopic FileFocus
Monsliding-windowFixed window, variable window, shrinking
TuePracticeSliding window + two-pointer problems (CF 1100-1300)
Wedprefix-sums1D and 2D prefix sums -- another game-changer
ThuPractice + VirtualDiv 2 virtual contest
Fridifference-arraysRange updates in O(1), reconstruct with prefix sum

Week 5 -- Search, Math, and Graphs Begin

DayTopic FileFocus
Moncomplete-searchBacktracking, pruning, when brute force is enough
TuePracticeBrute force + prefix sum problems (CF 1000-1200)
Wedmath-fundamentalsGCD, modular arithmetic, fast exponentiation
ThuPractice + VirtualDiv 2 virtual contest
Frigraph-representationAdjacency list -- how to read and store graphs

Week 6 -- BFS, DFS, and Intro DP

DayTopic FileFocus
MonbfsShortest path in unweighted graphs, 0-1 BFS
TuePracticeBFS problems -- grid traversal, shortest path (CF 1100-1300)
Weddfs-and-tree-dfsDFS, connected components, tree traversal
ThuPractice + VirtualDiv 2 virtual contest
Fridp-intro-1dYour first DP! Fibonacci, coin change, LIS

Week 7 -- (rest) Consolidation Week

No new topics. This week is for catching up, reinforcing, and building confidence.

DayActivity
MonRe-solve 5 problems you struggled with in Weeks 1-6
TueVirtual contest (Div 2) -- aim for A+B in 30 min, attempt C
WedReview all cheat sheets from Phase 1. Make flashcards for key insights
ThuVirtual contest (Div 2) -- try a different round
FriSolve 3-4 CF 1200-1300 problems mixing all techniques learned so far

**** Milestone Check:** You should now be solving Div 2 A+B consistently. CF rating target: ~1300-1400. If you're not there yet, that's okay -- repeat Week 7 until you feel solid. No rushing.


Phase 2: Core Skills (CF 1400 --> 1700)

Goal: Add power structures and algorithmic thinking. After this phase,you'll crack Div 2 C regularly and sometimes D.

Week 8 -- Monotonic Structures

DayTopic FileFocus
Monmonotonic-stackNext greater element pattern
TuePracticeMonotonic stack problems (CF 1200-1400)
Wedmonotonic-queueSliding window min/max
ThuPractice + VirtualDiv 2 virtual contest
Friunion-find-dsuPath compression, union by rank

Week 9 -- Range Query Structures

DayTopic FileFocus
Monbinary-indexed-tree-fenwickBIT -- point update, prefix query
TuePracticeBIT problems (CF 1300-1500)
Wedsegment-treeThe Swiss Army knife of CP
ThuPractice + VirtualSegment tree problems + virtual contest
FritriePrefix trie and XOR trie

Week 10 -- Greedy and Counting

DayTopic FileFocus
MongreedyExchange arguments, sorting criteria
TuePracticeGreedy problems (CF 1200-1500). Try to prove why greedy works
Wedcontribution-techniqueCount per-element instead of per-subset
ThuPractice + VirtualDiv 2 virtual contest
Fridivide-and-conquerMerge sort, inversions, D&C paradigm

[read] Read this week: dp-vs-greedy-guide

Week 11 -- Search Variants and Compression

DayTopic FileFocus
Monternary-searchUnimodal functions
TuePracticeBinary search + ternary search problems (CF 1300-1500)
Wedcoordinate-compressionLarge values --> small indices
ThuPractice + VirtualDiv 2 virtual contest
Frirandomization-techniquesAnti-hack, random hashing, probabilistic methods

Week 12 -- Number Theory and Combinatorics

DayTopic FileFocus
Monnumber-theorySieve, factorization, totient
TuePracticeNumber theory problems (CF 1300-1500)
Wedcombinatorics-basicsnCr, Pascal's triangle, stars and bars
ThuPractice + VirtualDiv 2 virtual contest
Fricatalan-numbersBalanced parentheses, binary trees

Week 13 -- Graphs Level 2 + More DP

DayTopic FileFocus
Montopological-sortDAG ordering, Kahn's algorithm
TuePracticeToposort + DSU problems (CF 1300-1500)
WeddijkstraShortest paths with non-negative weights
ThuPractice + VirtualDiv 2 virtual contest
Frimst-kruskalMinimum spanning tree

Week 14 -- DP Deepening

DayTopic FileFocus
Mondp-knapsack0/1, unbounded, bounded
TuePracticeKnapsack variants (CF 1300-1600)
Weddp-2d-sequenceLCS, edit distance, grid paths
ThuPractice + VirtualDP problems + virtual contest
Fridp-thinking-frameworkMeta-guide: state design, 6 archetypes

[read] Also read: bfs-vs-dfs-guide

Week 15 -- Strings and Offline + Consolidation

DayTopic FileFocus
Monstring-hashingPolynomial hashing
TuePracticeString hashing problems (CF 1400-1600)
Wedoffline-queriesSorting queries for efficiency
Thu(rest) ReviewRe-read cheat sheets for Weeks 8-14. Flashcard the key insights
Fri(rest) Mixed practiceSolve 4-5 problems (CF 1400-1500) mixing ALL Phase 2 techniques

**** Milestone Check:** You should be cracking Div 2 C in ~40 minutes. CF rating target: ~1600-1700. You're in the top 10% now. Take a deep breath. You've come far.


Phase 3: Intermediate (CF 1700 --> 1900)

Goal: Add advanced structures and harder algorithmic paradigms. Problems startrequiring creative combinations of techniques. After this phase, Div 2 D becomesreachable and you can start placing in Div 1.

Week 16 -- Advanced Range Queries

DayTopic FileFocus
Monsparse-table-rmqO(1) static range queries
TuePracticeRange query problems mixing BIT/seg tree/sparse table
Wedsegment-tree-lazyRange updates + range queries
ThuPractice + VirtualLazy seg tree problems + virtual contest
Fripolicy-based-dsGNU PBDS ordered set

Week 17 -- Sweep Line and Construction

DayTopic FileFocus
Monsweep-lineEvent-based, dimension reduction
TuePracticeSweep line + coordinate compression problems (CF 1500-1700)
Wedconstructive-algorithmsBuilding valid solutions
ThuPractice + VirtualConstructive problems + virtual contest
Friinteractive-problemsQuery-based problems with judge

Week 18 -- MITM and Math

DayTopic FileFocus
Monmeet-in-the-middleSplit-half enumeration
TuePracticeMITM + brute force optimization (CF 1600-1800)
Wedinclusion-exclusionPIE, derangements, coprime counting
ThuPractice + VirtualCounting problems + virtual contest
Frigame-theory-nimSprague-Grundy, nim values

Week 19 -- Probability and Matrices

DayTopic FileFocus
MonprobabilityExpected value, linearity
TuePracticeExpected value problems (CF 1500-1800)
Wedmatrix-exponentiationLinear recurrences in O(k^3 log n)
ThuPractice + VirtualMatrix exp problems + virtual contest
Fri(rest) ReviewCatch up on anything from Weeks 16-18

Week 20 -- Shortest Paths Deep Dive

DayTopic FileFocus
Monbellman-fordNegative weights, SPFA
TuePracticeShortest path problems mixing Dijkstra/BF/Floyd
Wedfloyd-warshall + mst-primAll-pairs + Prim's MST
ThuPractice + VirtualGraph problems + virtual contest
Fribridges-and-articulation-pointsCut vertices and bridges

Week 21 -- Tree Algorithms and LCA

DayTopic FileFocus
Moneuler-tour-and-lcaFlatten tree, LCA via binary lifting
TuePracticeLCA + tree problems (CF 1600-1800)
Wedfunctional-graphs + euler-pathSuccessor graphs, Euler circuits
ThuPractice + VirtualVirtual contest
Fridp-on-treesSubtree DP, rerooting

Week 22 -- Bitmask and Interval DP

DayTopic FileFocus
Mondp-bitmaskBitmask DP, TSP
TuePracticeBitmask DP problems (CF 1600-1800)
Weddp-intervalRange DP on [l,r]
ThuPractice + VirtualDP contest mix
Fridp-digitDigit DP -- counting numbers with constraints

Week 23 -- Strings and Sqrt

DayTopic FileFocus
Monkmp-and-z-functionPattern matching
TuePracticeString matching problems (CF 1500-1700)
WedmanacherAll palindromic substrings
ThuPractice + VirtualString problems + virtual contest
Frisqrt-decompositionBlock decomposition

Week 24 -- Geometry + Consolidation

DayTopic FileFocus
Mongeometry-basicsCross product, convex hull
TuePracticeGeometry problems (CF 1500-1700)
Wed(rest) Mixed practiceSolve 4-5 problems (CF 1700-1800) mixing Phase 3 techniques
Thu(rest) Virtual contestDiv 1 virtual contest -- just try it, even if it's hard
Fri(rest) ReviewRe-read all Phase 3 cheat sheets. Update flashcards

[read] Read this week: debugging-under-pressure, data-structure-selection-guide

**** Milestone Check:** You should be solving Div 2 D sometimes. CF rating target: ~1800-1900. You're purple/about to be purple. You're in the top 3% of all competitive programmers. Genuinely impressive.


Phase 4: Advanced (CF 1900 --> 2100+)

Goal: Master the advanced toolkit. Problems at this level require deep insight,creative combinations, and flawless implementation. You're not just learningalgorithms anymore -- you're learning to think like an expert.

Week 25 -- Advanced Trees

DayTopic FileFocus
Moncartesian-treeTreap: BST + heap combined
TuePracticeTreap problems (CF 1700-1900)
Wedbinary-indexed-tree-2d2D Fenwick tree
ThuPractice + VirtualRange query problems + virtual contest
Fripersistent-segment-treeVersioned segment tree, k-th on paths

Week 26 -- Advanced Graphs I

DayTopic FileFocus
Monscc-and-2satStrongly connected components, 2-SAT
TuePracticeSCC/2-SAT problems (CF 1800-2000)
Wedheavy-light-decompositionPath queries on trees
ThuPractice + VirtualHLD problems + virtual contest
Fridsu-on-treeSmall-to-large merging

Week 27 -- Advanced Graphs II

DayTopic FileFocus
Moncentroid-decompositionDivide tree by centroids
TuePracticeCentroid decomp + DSU-on-tree problems (CF 1800-2000)
Wedflow-introMax-flow, min-cut, Dinic's
ThuPractice + VirtualFlow problems + virtual contest
Fribipartite-matching + min-cost-flowMatching and MCMF

Week 28 -- DP Optimizations

DayTopic FileFocus
Mondp-convex-hull-trickCHT, Li Chao tree
TuePracticeCHT problems (CF 1800-2100)
Weddp-divide-and-conquer-optimizationMonotone minima
ThuPractice + VirtualDP optimization problems + virtual contest
Fridp-sosSum over subsets

Week 29 -- DP Mastery + Advanced Strings I

DayTopic FileFocus
Mondp-slope-trickConvex DP via priority queue of slopes
TuePracticeDP optimization problems (CF 1900-2100)
Wedsuffix-arraySorted suffixes + LCP
ThuPractice + VirtualString problems + virtual contest
Friaho-corasickMulti-pattern matching

Week 30 -- Advanced Strings II + Offline

DayTopic FileFocus
Monsuffix-automatonAll substrings in O(n)
TuePracticeSuffix automaton/array problems (CF 1900-2100)
Wedpalindromic-treeDistinct palindromic substrings
ThuPractice + VirtualVirtual contest (Div 1)
Frimo-algorithmOffline range queries

Week 31 -- Offline Mastery + FFT

DayTopic FileFocus
Moncdq-divide-and-conquerCDQ D&C for multidimensional
TuePracticeOffline technique problems (CF 1900-2100)
Wedparallel-binary-searchBatched threshold queries
ThuPractice + VirtualVirtual contest (Div 1)
Frifft-nttPolynomial multiplication

Week 32 -- Final Topics + Grand Consolidation

DayTopic FileFocus
Mongaussian-eliminationSystems of equations, XOR basis
TuePracticeMath problems mixing FFT, matrices, Gauss (CF 1900-2100)
Wedlinked-list-contestContest tricks (quick read)
Thu(rest) Virtual contestDiv 1 virtual contest -- go for it!
Fri(rest) Grand reviewSkim ALL cheat sheets. You've covered everything. Celebrate.

**** Milestone Check:** You can solve Div 1 B/C. Div 2 D is routine. CF rating target: ~2000-2100. You're Candidate Master. You started at 1100. Look how far you've come.


After Week 32 -- What's Next?

You've covered the entire notebook. Now it's about depth, not breadth:

  1. Contest, contest, contest. Do 2-3 live Codeforces rounds per week.
  2. Upsolve religiously. After every contest, solve the problems you missed.
  3. Revisit weak areas. Look at your solve log. Which technique do you fail on most? Re-read that file and do 10 more problems.
  4. Try harder contests. Div 1, Educational rounds, AtCoder ABC/ARC.
  5. Teach someone. Explaining a concept forces you to truly understand it.

What the Code Won't Teach You

  • Reading speed matters. At CF 1700+, misreading the problem wastes 20-40 minutes. Practice parsing complex problem statements deliberately.
  • Time estimation is a skill. Knowing when to abandon an approach (after 15 min stuck) vs. push through (you're close) separates 1600 from 1900.
  • Contest psychology is real. Panic after one WA, tilting after a bad start, fear of submitting -- these cost more rating points than missing algorithms.
  • Upsolving is where real learning happens. The contest gives you problems; upsolving gives you skills.
  • Communication with yourself. Write brief notes after each session: what went well, what didn't, one thing to try differently next time.
 WEEKLY PROGRESS FLOWCHART

 +--------------+
 | Start Week |
 +------+-------+
 |
 v
 +--------------+ Yes +--------------------+
 | New topic +----------->| Read Layers 1-5 |
 | scheduled? | | Type out the code |
 +------+-------+ | Study 1 hour |
 No | +---------+----------+
 | |
 v v
 +--------------+ +--------------------+
 | Consolidation| | Practice 2 hours |
 | week: review | | (3-5 problems, |
 | & re-solve | | rated current+100)|
 +------+-------+ +---------+----------+
 | |
 v v
 +----------------------------------------------+
 | End of week: self-assess |
 | * Did I solve problems above my level? |
 | * Which technique tripped me up? |
 | * Am I ready to advance or repeat? |
 +------------------+---------------------------+
 |
 +---------+---------+
 v v
 +-----------+ +---------------+
 | Ready: | | Not ready: |
 | Next | | Repeat week |
 | week | | or flex week |
 +-----------+ +---------------+

Emergency Protocols

"I'm behind schedule"

That's okay. The flex weeks (7, 15, 24, 32) exist for exactly this. Skip the consolidation activities and use them to catch up. If you're more than 2 weeks behind, just continue from where you are -- don't try to rush through skipped material.

"I don't understand this topic at all"

  1. Re-read Layers 1-3 of the file.
  2. Watch a YouTube video on the same topic (e.g., Errichto, William Lin, Colin Galen).
  3. Solve the easiest practice problem with editorial help.
  4. Try the same problem again from scratch without looking.
  5. If still stuck, move on and come back to it next consolidation week.

"My rating isn't going up"

Rating plateaus at 1400, 1600, and 1900 are extremely common. They usually last 2-4 weeks. Keep practicing. The breakthrough comes when your brain finally connects the patterns. Plateaus mean you're absorbing -- the rating jump is coming.

"I missed a week"

No guilt. Pick up where you left off. Consistency over perfection.


Quick Reference: Virtual Contest Schedule

WeekContest TypeWhat to Focus On
1-7Div 2Solve A+B fast, attempt C
8-15Div 2Solve A+B+C, attempt D
16-20Div 2 + EducationalSolve A+B+C, crack D regularly
21-24Div 2 + Div 1 (attempt)D consistently, sometimes E
25-32Div 1 + Div 2Full Div 2 solves, Div 1 B/C

Self-Test

Before moving on, check these off honestly:

  • [ ] I have identified my 3 weakest problem categories from my last 20 contests
  • [ ] I can describe my weekly study rhythm without looking at this document
  • [ ] I have a tracking system (spreadsheet, text file, or notebook) for solved problems
  • [ ] I have scheduled my next virtual contest with a specific day, time, and round
  • [ ] I know the difference between practice (deliberate, focused) and performance (rated contests) and I do both

"It's not about being the fastest learner. It's about being the one who doesn't stop."


The Underlying Lesson

This plan is not about following a rigid schedule — it is about deliberate sequencing. Each phase builds on the last. Skipping to "cool" algorithms before nailing implementation speed and greedy thinking is like studying calculus before you can do arithmetic quickly. The boring foundations phase is where rating gains actually compound.

Open this file on Sunday evening when planning the week. Use it to pick which topics to drill, which virtual contests to run, and to reality-check whether you are advancing or spinning wheels.

Before You Code Checklist

  • [ ] Check your phase -- based on current CF rating, are you working on the right topics? If you're 1300 and studying segment trees, stop.
  • [ ] Schedule 2+ virtual contests this week -- practice without rating pressure, but treat them as real (no looking up solutions mid-contest).
  • [ ] Pick 3 upsolve targets from your last contest -- problems you couldn't solve in time but are within one difficulty tier of your level.
  • [ ] Log what you learned today -- even one sentence. "Learned that multiset erase(x) removes ALL copies" counts. Unlogged practice fades.
  • [ ] Honest self-assessment -- did you actually struggle with a problem today, or did you only solve easy ones? Growth requires discomfort.

What Would You Do If...?

  1. Your rating has been flat at 1450 for 6 weeks despite consistent practice. Do you change your study plan, increase volume, or analyze what types of problems you're losing rating on?

  2. You can solve Div 2 A-B consistently but always time out on C. Is the bottleneck knowledge (don't know the algorithm), speed (too slow at implementation), or problem-solving (can't find the approach)? How do you diagnose which one?

  3. A friend who started at the same time is now 300 rating points ahead of you. How do you use this information productively instead of letting it demotivate you?

The Mistake That Teaches

Week 8 of the plan. You've been grinding Div 2 C problems for two weeks straight. Your solve rate is improving -- 60% in virtual contests. But your rating dropped by 50 points across 3 real contests. What happened?

You review your contest logs. Pattern: you're solving C but taking 55+ minutes, leaving no time for D. Meanwhile, your A+B time is 25 minutes -- it should be 12. You've been optimizing the wrong thing.

The lesson: Rating = problems solved x speed. Improving solve rate on hard problems matters less than improving speed on problems you already know how to solve. Phase 1's emphasis on implementation speed isn't boring -- it's the foundation everything else stands on. Track your A+B time. If it's above 15 minutes in Div 2, that's where your rating is leaking.

The shortest summary of the plan: train the phase you're in, not the phase you wish you were in. The ladder has rungs for a reason.


See also: CF Tips and Workflow | Practice Ladders | Mock Contests | Reflections

Built for the climb from Codeforces 1100 to 2100.