Introduction
Welcome to the DSA handbook.
Now
- 3 Sum, 4 Sum Duplicacy removal
- 2D BS and DFS, BFS
- Boyer–Moore majority vote algorithm
- gcd, xor
Dec 30, 2025
Primary focus on all 13 problem of 1D Array
- Koko Eating Banans
- Search in Roated Sorted II
- Signle Element
- Minimum in Rotated Sorted Array
- Count rotation
- Find Peak Element
- Search Insert Position
- Find Square Root
- Maximum one's
- Search in 2D matrix
Dec 31, 2025
Primary focus on all 9 problem of LL, DLL and Medium of DLL
- Note Down current & current->next
- Iterative & Recursive Reverse
Feb 1, 2025
Primary focus on all 14 problem of array easy
Weaknesses
- 0 problems last year → severe inactivity.
- Rating below 800 → likely:
- Slow implementation
- Panic during contests
- Weak debugging discipline
- Weak pattern recognition
- Poor greedy reasoning
Likely Technical Gaps
At 792 rating, typical weaknesses are:
- Implementation errors (indexing, off-by-one)
- Weak string manipulation
- Poor condition handling
- Not recognizing simple greedy patterns
- Fear of math problems
- No structured upsolving habit
You are likely failing mostly on:
- 800–1000 problems
- Div2 A occasionally
- Div2 B rarely
Psychological Problems
Based on inactivity pattern:
- You probably binge-practiced once.
- Rating dropped.
- Motivation collapsed.
- Long break.
- Guilt cycle.
This is extremely common below 1000.
We fix this with structure.
30-DAY COMEBACK PLAN (792 → 1000)
Goal: Reach stable 1000 rating.
We do NOT rush.
Daily Routine (Minimum 2 Hours)
Weekdays (2 hours)
- Block 1 (60 min):
- Solve 3 problems
- Rating range: 800–1000
- Block 2 (30 min):
- Review wrong submissions
- Rewrite clean solution
- Block 3 (30 min):
- Re-solve 1 previously solved problem WITHOUT looking
- Total: 4 problems/day
Weekend (3–4 hours)
- 1 Virtual Contest (Div3 preferred)
- Upsolve all unsolved A/B after contest
- Solve 2 extra 900–1100 problems
Topic Priority (First 30 Days)
You must master these in order:
- Implementation
- Strings
- Basic greedy
- Math (gcd, parity, divisibility)
- Sorting
- Prefix sums
- Basic two pointers
Ignore DP. Ignore graphs. Ignore segment trees.
You are building foundations.
Weekly Target
- 20–25 problems/week
- 2 virtual contests/week
- 1 full review day
30 days → ~90 problems
This alone can push you to 1000.
Virtual Contest Strategy
Only:
- Div3
- Old Div2 rounds (rated
<1500difficulty)
During contest:
- 10 minutes max on A
- 20 minutes max on B
- Skip if stuck
- NEVER spend 40 minutes on A
Upsolving Protocol (CRITICAL)
After contest:
For each unsolved problem:
- Think 20 minutes.
- Read editorial.
- Re-implement without copying.
- Add to mistake log.
If you don’t upsolve, your rating will not grow.
Mistake Log Structure
Create a Google Doc.
For each wrong problem write:
Problem Name:
Rating:
Type:
Mistake Type:
- Logic?
- Edge case?
- Misread?
- Implementation?
- Math gap?
What pattern did I miss?
Review this every Sunday.
90-DAY GROWTH PLAN (1000 → 1300)
Now we build real strength.
Topic Roadmap (Ordered)
- Greedy patterns
- Prefix sums advanced
- Binary search
- Two pointers deeper
- Constructive algorithms
- Basic combinatorics
- Intro DP (very basic 1D)
- Simple graphs (BFS/DFS)
Div2 A/B Mastery Strategy
Goal: Solve A in 5–7 minutes.
Training method:
- Take 30 random Div2 A (800–1000)
- Solve all under time limit of 7 minutes each.
Then:
- Take 40 problems rated 1000–1200.
- Solve 2 daily.
Speed Training (3x/week)
Set timer 45 minutes:
- Solve 4 problems rated 900–1100.
Speed > difficulty.
Pattern Recognition Training
After every problem ask:
- Is this greedy?
- Is this counting?
- Is this prefix sum?
- Is this simulation?
- Is this constructive?
Classify every solved problem.
After 200 problems, patterns become automatic.
Weekly Structure (90-Day Phase)
Monday–Friday:
- 3 problems/day (1000–1200)
Saturday:
- 1 virtual contest
Sunday:
- Upsolve + review mistake log
- Re-solve 2 old wrong problems
Target:
- 15–18 problems/week
- 1–2 contests/week
In 3 months → ~200 more problems
You will reach 1200–1300 if consistent.
6–12 MONTH PLAN (1300 → 1600+)
Now you transition from beginner to structured thinker.
When to Start Advanced Topics
Start learning seriously after 1200:
- Binary search on answer
- Graph BFS/DFS variations
- Basic DP patterns
- Greedy proof logic
- Bit manipulation
- Frequency maps
After 1400:
- Segment tree
- Basic number theory
- 2D prefix sums
- Shortest paths
Contest Strategy Evolution
At 1300:
Goal per contest:
- Solve A fast
- Solve B confidently
- Attempt C
- Partial D thinking
Never rush D if B is shaky.
Studying Strong Coders
Pick random 1500–1800 rated user.
After contest:
- Open their submission.
- Compare logic.
- Check:
- Variable naming
- Code simplicity
- Pattern recognition
Do this twice per week.
This accelerates growth massively.
EXACT PROBLEM-SOLVING FRAMEWORK
How Long to Think?
- For 800–1000: 15 minutes max
- For 1000–1200: 25 minutes max
- If no direction → read editorial.
- Struggling 1 hour teaches nothing.
When to Switch Problems
If:
- You feel stuck in implementation detail
- You don’t know what the first step is
- You tried 2 approaches
Switch immediately.
Debugging Faster
Checklist:
- Edge case n=1?
- All equal values?
- Sorted input?
- Negative numbers?
- Overflow?
- Reset variables per test case?
90% of bugs are here.
Post-Contest Analysis Template
After contest write:
- Which problem wasted most time?
- Why?
- Did I panic?
- Was I slow reading?
- What pattern did I miss?
- What will I change next contest?
If you don’t do this, rating stagnates.
CONTEST STRATEGY FOR NEWBIES
Time Allocation (Div3)
0–10 min → A
10–30 → B
30–60 → C attempt
60–90 → fix bugs
Last 30 → re-check all submissions
When to Skip
Skip if:
- You don’t understand problem after 5 minutes.
- You don’t know what data structure to use.
Skipping is strength, not weakness.
Risk Management
Never submit without:
- Testing 3 custom cases
- Checking smallest input
- Checking largest input
Avoid WA chains.
Avoid Tilt After WA
Rule:
After 2 WAs:
- Stop.
- Reread entire problem.
- Re-evaluate logic from scratch.
Do NOT randomly modify code.
Target Metrics:
- Month 1:
- 90 problems
- 8 contests
- Month 3:
- 250 total problems
- Stable 1200 rating
- Month 6:
- 400–500 total problems
- 1400+
PSYCHOLOGICAL DISCIPLINE PLAN
This is the real battle.
Anti-Procrastination Rule
Minimum rule:
- Solve at least 1 problem daily.
- Even on worst day.
Never break the chain twice.
Streak Rebuild Strategy
Start 7-day streak.
Then 14.
Then 30.
You once did 15.
Now aim 30.
Handling Rating Drops
Rule: Rating drop ≠ skill drop.
After bad contest:
- Solve 3 easy problems immediately.
- Regain confidence.
Never quit after a red contest.
Long-Term Motivation
- Shift goal: Not "increase rating".
- Goal: “I solve 20 problems per week.”
- Rating is a byproduct.
Final Reality Check
You are 4 years registered. Rating 792.
If you continue randomly: In 4 more years → same result.
If you follow this strictly:
- 1 month → 1000
- 3 months → 1200+
- 6–9 months → 1500
- 1 year → 1600 possible
But only if you are consistent.
Your problem is not intelligence.
Your problem is structure.
Now build it.
Start today. Solve 3 problems. No excuses.