কনটেন্টে যান

১৭ সপ্তাহের পড়ার পরিকল্পনা — ধারণা থেকে নিজে সমাধান

দিনে প্রায় ২–৩ ঘণ্টা ধরে পরিকল্পনাটি সাজানো। Week 1 মানে আপনি যেদিন শুরু করবেন সেই সপ্তাহ; এটি কোনো নির্দিষ্ট ক্যালেন্ডারের deadline নয়। আগে শেখা বিষয় ছোট একটি problem দিয়ে যাচাই করে এগিয়ে যান। সময় বেশি লাগলে সপ্তাহটি আবার করুন।

অধ্যায়ের সম্পর্ক · ১০০টি বাছাই অনুশীলন · বই ও উৎস

প্রতিদিনের কাজ

  1. ৩০–৪০ মিনিট ধারণা ও ছবি: ছোট input নিন। প্রতিটি ধাপের array, pointer, stack বা DP table খাতায় লিখুন।
  2. ৬০–৯০ মিনিট problem: আগে নিজে চেষ্টা করুন। ২৫–৩০ মিনিট আটকে থাকলে intuition দেখুন, তারপর নোট বন্ধ করে code লিখুন।
  3. ২০–৩০ মিনিট যাচাই: খালি input, একটি item, duplicate ও boundary case চেষ্টা করুন। কোন শর্তে algorithm কাজ করে লিখুন।
  4. শেষ ১০ মিনিট: ভুলটি ও পরের revision-এর দিন লিখুন। সপ্তাহের একদিন পুরোনো ২–৩টি problem আবার করুন।

নিচে বিষয় থেকে chapter, বাংলা নোট থেকে worked solution, আর Official problem থেকে judge খুলবে। এটি প্রতি সপ্তাহের শুরু করার problem; আরও অনুশীলন সংশ্লিষ্ট অধ্যায়ের তালিকায় আছে।

সপ্তাহভিত্তিক পথ

সপ্তাহ বিষয় প্রথম বাংলা নোট Official problem সপ্তাহ শেষে নিজেকে জিজ্ঞেস করুন
১ Python basics, array Reverse String LeetCode 344 Index ও value আলাদা করতে পারি?
২ Binary search ও two pointers Basic Binary Search LeetCode 704 কোন অর্ধেক বাদ দিচ্ছি, কেন?
৩ Hashing, prefix sum ও window Two Sum LeetCode 1 আগের কোন তথ্য রাখলে আবার খুঁজতে হয় না?
৪ Linked list, stack ও queue Reverse Linked List LeetCode 206 Pointer বদলানোর আগে পরের node রেখেছি?
৫ Heap ও monotonic stack Daily Temperatures LeetCode 739 বাদ দেওয়া item আর লাগবে না কেন?
৬ Recursion ও backtracking Subsets LeetCode 78 ফিরে এসে state আগের অবস্থায় আনছি?
৭ Tree traversal ও BST Validate BST LeetCode 98 সব ancestor-এর সীমা মানছি?
৮ Tree-র অনুশীলন Lowest Common Ancestor LeetCode 236 Subtree থেকে কী ফেরত চাই?
৯ BFS ও DFS Number of Islands LeetCode 200 কখন visited করছি? একই cell দুবার গুনছি?
১০ Topological sort, DSU, shortest path Course Schedule LeetCode 207 Dependency-তে cycle থাকলে কী হবে?
১১ DP state ও transition Coin Change LeetCode 322 dp[i] এক বাক্যে কী বোঝায়?
১২ DP-র কৌশল Longest Common Subsequence LeetCode 1143 ছোট state আগে হিসাব করা হয়েছে?
১৩ Subset ও partition Partition Equal Subset Sum LeetCode 416 একই item দুবার ব্যবহার করছি?
১৪ মিশ্র problem Merge Intervals LeetCode 56 Sort করার পরে কোন invariant থাকে?
১৫ Data structure বাছাই LRU Cache LeetCode 146 Lookup ও order—দুটোর জন্য কী রাখব?
১৬ Window ও graph revision Minimum Window Substring LeetCode 76 Window ছোট করলে কখন শর্ত ভাঙে?
১৭ Mock ও শেষ revision Merge K Sorted Lists LeetCode 23 যুক্তি, code ও test বোঝাতে পারি?

অন্য platform-এ চর্চা

ধারণা বাংলা নোট Official problem
Prefix sum Static Range Sum CSES 1646
Parity Watermelon Codeforces 4A
1D DP Dice Combinations CSES 1633
DAG-এ DP Longest Path AtCoder DP G

অগ্রগতি মাপুন

অবস্থা মানে
পড়েছি নোট অনুসরণ করে বুঝেছি
চেষ্টা করেছি নিজে code লিখেছি, কোথায় আটকে গেছি জানি
সমাধান করেছি Sample ও নিজের edge case পাস করেছে
আবার পেরেছি কয়েক দিন পরে নোট ছাড়া যুক্তি ও code লিখেছি

Problem-এর সংখ্যা সহায়ক; আসল মাপকাঠি হলো নতুন input-এ যুক্তি ঠিক থাকে কি না। প্রতি চার সপ্তাহে একটি পুরোনো ও একটি নতুন problem সময় ধরে করুন। দুর্বল pattern-এর জন্য পরের সপ্তাহে সময় রাখুন। Mock-এ এই ক্রম বলুন: শর্ত পরিষ্কার করা → সহজ সমাধান → খরচ → উন্নতি → code → test।

সময় কম হলে

আগে array, hashing, binary search, window, traversal, মূল DP ও revision করুন। Segment/Fenwick tree, advanced number theory, geometry ও গভীর competitive programming পরে রাখা যায়। বাইরের বড় topic map প্রয়োজনমতো reference হিসেবে ব্যবহার করুন।

প্রস্তুতির গতি আপনার পূর্বজ্ঞান, নিয়মিত অনুশীলন ও ভুল সংশোধনের উপর নির্ভর করবে।