|
| 1 | +--- |
| 2 | +title: Advice |
| 3 | +--- |
| 4 | +# 🔥 DSA ACCOUNTABILITY GUIDE (WITH LINKS, NO EXCUSES) |
| 5 | + |
| 6 | +## 🧱 DAILY RULE (NON-NEGOTIABLE) |
| 7 | + |
| 8 | +**Every single day must have:** |
| 9 | + |
| 10 | +1. **Learn** (45–60 min) |
| 11 | + |
| 12 | +2. **Implement** (45–60 min) |
| 13 | + |
| 14 | +3. **Practice** (60–90 min) |
| 15 | + |
| 16 | + |
| 17 | +If even **one block is missing → day = invalid**. |
| 18 | + |
| 19 | +--- |
| 20 | + |
| 21 | +# 🟢 PHASE 0 — Foundations (8–10 weeks) |
| 22 | + |
| 23 | +### 🎯 Goal |
| 24 | + |
| 25 | +- Strong **C++ + STL** |
| 26 | + |
| 27 | +- CF comfort: **1200–1300** |
| 28 | + |
| 29 | +- Start CF contests |
| 30 | + |
| 31 | + |
| 32 | +--- |
| 33 | + |
| 34 | +## Week 1–2: Basic C++ + STL |
| 35 | + |
| 36 | +### Learn (pick ONE per day) |
| 37 | + |
| 38 | +- GFG C++ basics |
| 39 | + [https://www.geeksforgeeks.org/cpp/c-plus-plus/](https://www.geeksforgeeks.org/cpp/c-plus-plus/) |
| 40 | + |
| 41 | +- Apna College C++ (first ~50 videos) |
| 42 | + [https://www.youtube.com/playlist?list=PLfqMhTWNBTe0b2nM6JHVCnAkhQRGiZMSJ](https://www.youtube.com/playlist?list=PLfqMhTWNBTe0b2nM6JHVCnAkhQRGiZMSJ) |
| 43 | + |
| 44 | +- STL Playlist (Luv) |
| 45 | + [https://www.youtube.com/playlist?list=PLauivoElc3gh3RCiQA82MDI-gJfXQQVnn](https://www.youtube.com/playlist?list=PLauivoElc3gh3RCiQA82MDI-gJfXQQVnn) |
| 46 | + |
| 47 | +- Lambda functions |
| 48 | + [https://www.geeksforgeeks.org/cpp/lambda-expression-in-c/](https://www.geeksforgeeks.org/cpp/lambda-expression-in-c/) |
| 49 | + |
| 50 | + |
| 51 | +### Implement (mandatory) |
| 52 | + |
| 53 | +- Write mini programs using: |
| 54 | + |
| 55 | + - vector, map, unordered_map |
| 56 | + |
| 57 | + - set, multiset |
| 58 | + |
| 59 | + - stack, queue, deque |
| 60 | + |
| 61 | + - priority_queue |
| 62 | + |
| 63 | +- Custom comparator + lambda |
| 64 | + |
| 65 | + |
| 66 | +### Practice |
| 67 | + |
| 68 | +- Codeforces Problemset |
| 69 | + [https://codeforces.com/problemset](https://codeforces.com/problemset) |
| 70 | + → Difficulty: **800–1000** |
| 71 | + |
| 72 | +- Create CF account (Day 1) |
| 73 | + |
| 74 | + |
| 75 | +--- |
| 76 | + |
| 77 | +## Week 3–4: Arrays, Strings, Hashing |
| 78 | + |
| 79 | +### Learn |
| 80 | + |
| 81 | +- Arrays (Striver) |
| 82 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0rENwdL0nEH0uGom9no0nyB](https://www.youtube.com/playlist?list=PLgUwDviBIf0rENwdL0nEH0uGom9no0nyB) |
| 83 | + |
| 84 | +- Strings in C++ |
| 85 | + [https://www.geeksforgeeks.org/cpp/strings-in-cpp/](https://www.geeksforgeeks.org/cpp/strings-in-cpp/) |
| 86 | + |
| 87 | +- Hashing (Striver) |
| 88 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0rVwua0kKYlsS_ik_1lyVK](https://www.youtube.com/playlist?list=PLgUwDviBIf0rVwua0kKYlsS_ik_1lyVK)_ |
| 89 | + |
| 90 | + |
| 91 | +### Prefix / Suffix |
| 92 | + |
| 93 | +- CF EDU |
| 94 | + [https://codeforces.com/edu/course/2](https://codeforces.com/edu/course/2) |
| 95 | + |
| 96 | + |
| 97 | +### Difference Array |
| 98 | + |
| 99 | +- Blog |
| 100 | + [https://codeforces.com/blog/entry/78762](https://codeforces.com/blog/entry/78762) |
| 101 | + |
| 102 | + |
| 103 | +### Practice Targets |
| 104 | + |
| 105 | +- 50 × 800 |
| 106 | + |
| 107 | +- 50 × 1000 |
| 108 | + |
| 109 | +- 50 × 1200 (before phase exit) |
| 110 | + |
| 111 | + |
| 112 | +--- |
| 113 | + |
| 114 | +## Week 5–6: Constructive + Greedy |
| 115 | + |
| 116 | +### Learn |
| 117 | + |
| 118 | +- Greedy (Striver) |
| 119 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0rENwdL0nEH0uGom9no0nyB](https://www.youtube.com/playlist?list=PLgUwDviBIf0rENwdL0nEH0uGom9no0nyB) |
| 120 | + |
| 121 | + |
| 122 | +### Practice (DAILY) |
| 123 | + |
| 124 | +- CF Problemset → tag: **constructive algorithms** |
| 125 | + |
| 126 | +- **4–5 problems/day** |
| 127 | + |
| 128 | + |
| 129 | +--- |
| 130 | + |
| 131 | +## Week 7–8: STL Mastery |
| 132 | + |
| 133 | +### Learn |
| 134 | + |
| 135 | +- Striver A2Z Sheet (STL section) |
| 136 | + [https://takeuforward.org/strivers-a2z-dsa-course/strivers-a2z-dsa-course-sheet-2](https://takeuforward.org/strivers-a2z-dsa-course/strivers-a2z-dsa-course-sheet-2) |
| 137 | + |
| 138 | +- Policy Based DS |
| 139 | + [https://www.geeksforgeeks.org/cpp/policy-based-data-structures-g/](https://www.geeksforgeeks.org/cpp/policy-based-data-structures-g/) |
| 140 | + |
| 141 | + |
| 142 | +### Practice |
| 143 | + |
| 144 | +- STL Contest |
| 145 | + [https://assessment.hackerearth.com/challenges/new/college/luv_youtube_cp_course_contest_3/](https://assessment.hackerearth.com/challenges/new/college/luv_youtube_cp_course_contest_3/) |
| 146 | + |
| 147 | +- LeetCode (stack/queue/pq – easy → medium) |
| 148 | + |
| 149 | + |
| 150 | +--- |
| 151 | + |
| 152 | +### ✅ Phase 0 Exit Conditions |
| 153 | + |
| 154 | +- 5+ CF contests attempted |
| 155 | + |
| 156 | +- CF 1200 problems solvable <20 min |
| 157 | + |
| 158 | +- STL without reference |
| 159 | + |
| 160 | + |
| 161 | +--- |
| 162 | + |
| 163 | +# 🟡 PHASE 1 — Core Algorithms (12 weeks) |
| 164 | + |
| 165 | +### 🎯 Goal |
| 166 | + |
| 167 | +OA-ready, CF **1400 comfort** |
| 168 | + |
| 169 | +--- |
| 170 | + |
| 171 | +## Sorting & Searching |
| 172 | + |
| 173 | +### Learn |
| 174 | + |
| 175 | +- Sorting (GFG) |
| 176 | + [https://www.geeksforgeeks.org/dsa/sorting-algorithms/](https://www.geeksforgeeks.org/dsa/sorting-algorithms/) |
| 177 | + |
| 178 | +- Meet in the Middle |
| 179 | + [https://www.youtube.com/watch?v=naz_9njI0I0](https://www.youtube.com/watch?v=naz_9njI0I0) |
| 180 | + [https://usaco.guide/gold/meet-in-the-middle?lang=cpp](https://usaco.guide/gold/meet-in-the-middle?lang=cpp) |
| 181 | + |
| 182 | +- Binary Search (Striver) |
| 183 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0pMFMWuuvDNMAkoQFi-h0ZF](https://www.youtube.com/playlist?list=PLgUwDviBIf0pMFMWuuvDNMAkoQFi-h0ZF) |
| 184 | + |
| 185 | +- CF EDU |
| 186 | + [https://codeforces.com/edu/course/2](https://codeforces.com/edu/course/2) |
| 187 | + |
| 188 | +- Ternary Search (optional) |
| 189 | + [https://cp-algorithms.com/num_methods/ternary_search.html](https://cp-algorithms.com/num_methods/ternary_search.html) |
| 190 | + |
| 191 | + |
| 192 | +### Practice |
| 193 | + |
| 194 | +- 40–50 binary search problems (CF EDU) |
| 195 | + |
| 196 | +- CF range: **1200–1400** |
| 197 | + |
| 198 | + |
| 199 | +--- |
| 200 | + |
| 201 | +## Bit Manipulation |
| 202 | + |
| 203 | +### Learn |
| 204 | + |
| 205 | +- Striver |
| 206 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0rnqh8QsJaHyIX7KUiaPUv7](https://www.youtube.com/playlist?list=PLgUwDviBIf0rnqh8QsJaHyIX7KUiaPUv7) |
| 207 | + |
| 208 | +- Galen Colin Streams |
| 209 | + [https://www.youtube.com/watch?v=1um-WUyjess](https://www.youtube.com/watch?v=1um-WUyjess) |
| 210 | + [https://www.youtube.com/watch?v=UPVoGMZWQMU](https://www.youtube.com/watch?v=UPVoGMZWQMU) |
| 211 | + |
| 212 | + |
| 213 | +### Practice |
| 214 | + |
| 215 | +- InterviewBit |
| 216 | + [https://www.interviewbit.com/courses/programming/bit-manipulation/](https://www.interviewbit.com/courses/programming/bit-manipulation/) |
| 217 | + |
| 218 | + |
| 219 | +--- |
| 220 | + |
| 221 | +## Number Theory |
| 222 | + |
| 223 | +### Learn |
| 224 | + |
| 225 | +- CodeNCode Playlist |
| 226 | + [https://www.youtube.com/playlist?list=PL5DyztRVgtRWblnyEHtajWijQffrfwLz6](https://www.youtube.com/playlist?list=PL5DyztRVgtRWblnyEHtajWijQffrfwLz6) |
| 227 | + |
| 228 | + |
| 229 | +### Practice |
| 230 | + |
| 231 | +- CF (math tag) |
| 232 | + |
| 233 | +- CSES |
| 234 | + [https://cses.fi/problemset/](https://cses.fi/problemset/) |
| 235 | + |
| 236 | + |
| 237 | +--- |
| 238 | + |
| 239 | +## Two Pointers & Sliding Window |
| 240 | + |
| 241 | +### Learn |
| 242 | + |
| 243 | +- Striver |
| 244 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0q7vrFA_HEWcqRqMpCXzYAL](https://www.youtube.com/playlist?list=PLgUwDviBIf0q7vrFA_HEWcqRqMpCXzYAL) |
| 245 | + |
| 246 | + |
| 247 | +### Practice |
| 248 | + |
| 249 | +- LeetCode + CF EDU |
| 250 | + |
| 251 | +- 30–40 problems each |
| 252 | + |
| 253 | + |
| 254 | +--- |
| 255 | + |
| 256 | +# 🔵 PHASE 2 — Recursion & DP (14–16 weeks) |
| 257 | + |
| 258 | +⚠️ **Tabulation only. No Striver DP solutions.** |
| 259 | + |
| 260 | +### Learn |
| 261 | + |
| 262 | +- Recursion / Backtracking |
| 263 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0rGlzIn_7rsaR2FQ5e6ZOL9](https://www.youtube.com/playlist?list=PLgUwDviBIf0rGlzIn_7rsaR2FQ5e6ZOL9) |
| 264 | + |
| 265 | +- DP (Vivek Gupta) |
| 266 | + [https://www.youtube.com/playlist?list=PLqf9emQRQrnKA_EeveiXQj_uP25w8_5qL](https://www.youtube.com/playlist?list=PLqf9emQRQrnKA_EeveiXQj_uP25w8_5qL) |
| 267 | + |
| 268 | +- TLE Eliminator DP |
| 269 | + [https://www.youtube.com/playlist?list=PLcXpkI9A-RZI-xF76L0sZq_u-k_yHz8pd](https://www.youtube.com/playlist?list=PLcXpkI9A-RZI-xF76L0sZq_u-k_yHz8pd) |
| 270 | + |
| 271 | + |
| 272 | +### Practice |
| 273 | + |
| 274 | +- CSES |
| 275 | + [https://cses.fi/problemset/](https://cses.fi/problemset/) |
| 276 | + |
| 277 | +- AtCoder DP |
| 278 | + [https://atcoder.jp/contests/dp](https://atcoder.jp/contests/dp) |
| 279 | + |
| 280 | +- DP Sheet |
| 281 | + [https://docs.google.com/document/d/19IeItjgoFmrXlJ6mFQIZi3V-LOUSkAOc1MkJo69uyO8/edit](https://docs.google.com/document/d/19IeItjgoFmrXlJ6mFQIZi3V-LOUSkAOc1MkJo69uyO8/edit) |
| 282 | + |
| 283 | + |
| 284 | +--- |
| 285 | + |
| 286 | +# 🟣 PHASE 3 — Graphs & Trees |
| 287 | + |
| 288 | +### Learn |
| 289 | + |
| 290 | +- Graphs (Striver) |
| 291 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0oE3gA41TKO2H5bHpPd7fzn](https://www.youtube.com/playlist?list=PLgUwDviBIf0oE3gA41TKO2H5bHpPd7fzn) |
| 292 | + |
| 293 | +- DSU |
| 294 | + [https://www.youtube.com/playlist?list=PLqf9emQRQrnIQ3DkkyBNGe1s4l3HqMqrz](https://www.youtube.com/playlist?list=PLqf9emQRQrnIQ3DkkyBNGe1s4l3HqMqrz) |
| 295 | + |
| 296 | + |
| 297 | +### Trees |
| 298 | + |
| 299 | +- [https://www.youtube.com/watch?v=nzF_9bjDzdc](https://www.youtube.com/watch?v=nzF_9bjDzdc) |
| 300 | + |
| 301 | +- [https://www.youtube.com/watch?v=m8qXEz1Xe8w](https://www.youtube.com/watch?v=m8qXEz1Xe8w) |
| 302 | + |
| 303 | +- [https://www.youtube.com/watch?v=o9hWO52bxI4](https://www.youtube.com/watch?v=o9hWO52bxI4) |
| 304 | + |
| 305 | +- Tree DP |
| 306 | + [https://www.youtube.com/playlist?list=PLb3g_Z8nEv1j_BC-fmZWHFe6jmU_zv-8s](https://www.youtube.com/playlist?list=PLb3g_Z8nEv1j_BC-fmZWHFe6jmU_zv-8s) |
| 307 | + |
| 308 | + |
| 309 | +### Advanced |
| 310 | + |
| 311 | +- Binary Lifting |
| 312 | + [https://usaco.guide/plat/binary-jump?lang=cpp](https://usaco.guide/plat/binary-jump?lang=cpp) |
| 313 | + [https://www.youtube.com/playlist?list=PL-Jc9J83PIiGC6uQ2CjMhSaWAcmjbAQfp](https://www.youtube.com/playlist?list=PL-Jc9J83PIiGC6uQ2CjMhSaWAcmjbAQfp) |
| 314 | + |
| 315 | +- DP on Graphs |
| 316 | + [https://codeforces.com/blog/entry/95084](https://codeforces.com/blog/entry/95084) |
| 317 | + |
| 318 | +- USACO Guide |
| 319 | + [https://usaco.guide/plat](https://usaco.guide/plat) |
| 320 | + |
| 321 | + |
| 322 | +--- |
| 323 | + |
| 324 | +# 🟠 PHASE 4 — Interview DS |
| 325 | + |
| 326 | +- Linked List |
| 327 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0rAuz8tVcM0AymmhTRsfaLU](https://www.youtube.com/playlist?list=PLgUwDviBIf0rAuz8tVcM0AymmhTRsfaLU) |
| 328 | + |
| 329 | +- Trees / BST |
| 330 | + [https://www.youtube.com/playlist?list=PLkjdNRgDmcc0Pom5erUBU4ZayeU9AyRRu](https://www.youtube.com/playlist?list=PLkjdNRgDmcc0Pom5erUBU4ZayeU9AyRRu) |
| 331 | + |
| 332 | +- Tries |
| 333 | + [https://www.youtube.com/playlist?list=PLgUwDviBIf0pcIDCZnxhv0LkHf5KzG9zp](https://www.youtube.com/playlist?list=PLgUwDviBIf0pcIDCZnxhv0LkHf5KzG9zp) |
| 334 | + |
| 335 | +- Practice |
| 336 | + [https://www.interviewbit.com/](https://www.interviewbit.com/) |
| 337 | + |
| 338 | + |
| 339 | +--- |
| 340 | + |
| 341 | +# 🔴 PHASE 5 — Advanced (Optional) |
| 342 | + |
| 343 | +- String Algorithms |
| 344 | + [https://www.youtube.com/playlist?list=PL5DyztRVgtRWVqLox_K8lrWZCclxzHzLD](https://www.youtube.com/playlist?list=PL5DyztRVgtRWVqLox_K8lrWZCclxzHzLD) |
| 345 | + |
| 346 | +- Fenwick Tree |
| 347 | + [https://www.youtube.com/watch?v=Qe8qRhz3lzQ](https://www.youtube.com/watch?v=Qe8qRhz3lzQ) |
| 348 | + |
| 349 | +- AVL Tree |
| 350 | + [https://www.geeksforgeeks.org/dsa/introduction-to-avl-tree/](https://www.geeksforgeeks.org/dsa/introduction-to-avl-tree/) |
| 351 | + |
| 352 | +- Red Black Tree |
| 353 | + [https://www.geeksforgeeks.org/dsa/introduction-to-red-black-tree/](https://www.geeksforgeeks.org/dsa/introduction-to-red-black-tree/) |
| 354 | + |
| 355 | +- Profile DP |
| 356 | + [https://codeforces.com/blog/entry/59282](https://codeforces.com/blog/entry/59282) |
| 357 | + |
| 358 | +- Knuth Optimization |
| 359 | + [https://usaco.guide/adv/dp-more?lang=cpp](https://usaco.guide/adv/dp-more?lang=cpp) |
| 360 | + |
| 361 | +- Catalan |
| 362 | + [https://usaco.guide/adv/catalan?lang=cpp](https://usaco.guide/adv/catalan?lang=cpp) |
| 363 | + |
| 364 | + |
| 365 | +--- |
| 366 | + |
| 367 | +# 🧪 OA PRACTICE (IMPORTANT) |
| 368 | + |
| 369 | +- InterviewBit Contests |
| 370 | + [https://www.interviewbit.com/contests/](https://www.interviewbit.com/contests/) |
| 371 | + |
| 372 | +- Aryan Mittal Hard Sheet |
| 373 | + [https://codewitharyan.com/cwa-sheet/practice-problems](https://codewitharyan.com/cwa-sheet/practice-problems) |
| 374 | + |
| 375 | +- LeetCode Special Sheet |
| 376 | + [https://leetcode.com/problem-list/27eor2ae/](https://leetcode.com/problem-list/27eor2ae/) |
| 377 | + |
| 378 | +- Mock OA |
| 379 | + [https://share.google/MvCmHaGn53YueO53K](https://share.google/MvCmHaGn53YueO53K) |
| 380 | + |
| 381 | + |
| 382 | +--- |
| 383 | + |
| 384 | +If you want next: |
| 385 | + |
| 386 | +- 📋 **Notion daily tracker** |
| 387 | + |
| 388 | +- 📆 **Exact day-by-day calendar** |
| 389 | + |
| 390 | +- ⚡ **90-day aggressive sprint** |
| 391 | + |
| 392 | +- 🎯 **OA-only fast-track** |
| 393 | + |
| 394 | + |
| 395 | +Just tell me which one — and how many hours/day you can give. |
0 commit comments