গণিতভিত্তিক প্রোগ্রামিং — শেখার মানচিত্র¶
১৫০টি স্থানীয় নোট নিচে সরাসরি খোলা যায়। প্রথমে সংশ্লিষ্ট level-এর ধারণা ও চিত্র পড়ো, তারপর সমস্যা চেষ্টা করো। নম্বর হলো খুঁজে পাওয়ার পরিচয়; সব সমস্যা একই ক্রমে বা এক বসায় শেষ করা বাধ্যতামূলক নয়। Level 00–01-এর মৌলিক অংশ শিখেই Arrays & Strings শুরু করা যায়। Level 09–11 মূলত অতিরিক্ত competitive programming অনুশীলন।
লিংকের অর্থ: সমস্যা-নামে চাপলে এই সাইটের বাংলা নোট খুলবে। LeetCode, CSES, Codeforces, SPOJ ও Project Euler লিংক মূল প্ল্যাটফর্মে নিয়ে যাবে। “ব্যাখ্যা” লিংক একটি পাঠ, বিচারকের সমস্যা নয়। “সম্পর্কিত / ভিন্ন শর্ত” লেখা থাকলে বাইরের সমস্যার input, লক্ষ্য বা সীমা এই নোটের সঙ্গে পুরোপুরি মেলে না—মূল statement পড়ে নেবে। কোনো নির্দিষ্ট বিচারক না থাকলে সেটিকে নিজস্ব অনুশীলনী বলা হয়েছে।
শুরু করার নির্দেশনা · সব চিত্রের সূচি · চিন্তার কৌশল · উৎসের তালিকা
Level 0 — Absolute Basics¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 001 | Even or Odd | Easy | সম্পর্কিত: Codeforces |
| 002 | Sum of Digits | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 003 | Count Digits | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 004 | Reverse Number | Easy | সম্পর্কিত: LeetCode |
| 005 | Palindrome Number | Easy | LeetCode |
| 006 | Armstrong Number | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 007 | Digital Root | Easy | সম্পর্কিত: LeetCode |
| 008 | Find Last Digit | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 009 | Power of 10 Check | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 010 | Number Pattern Printing | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
Level 1 — Divisibility, Prime, GCD, LCM¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 011 | Divisibility Rules | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 012 | Count Factors | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 013 | Check Prime | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 014 | Print All Primes up to N | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 015 | Sieve of Eratosthenes | Medium | সম্পর্কিত: ব্যাখ্যা: CP-Algorithms · LeetCode |
| 016 | Prime Factorization | Medium | সম্পর্কিত: Project Euler |
| 017 | Smallest Prime Factor | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 018 | GCD using Euclidean Algorithm | Easy | ব্যাখ্যা: CP-Algorithms |
| 019 | Extended GCD Intro | Hard | ব্যাখ্যা: CP-Algorithms |
| 020 | LCM using GCD | Easy | সম্পর্কিত: Project Euler |
| 021 | Coprime Check | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 022 | Count Coprime Pairs Basic | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 023 | Euler Phi Basic | Medium | ব্যাখ্যা: CP-Algorithms |
| 024 | Number of Divisors | Medium | CSES |
| 025 | Sum of Divisors | Medium | সম্পর্কিত / ভিন্ন শর্ত: CSES |
Level 2 — Modular Arithmetic¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 026 | Remainder Basics | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 027 | Modular Addition | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 028 | Modular Multiplication | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 029 | Modular Exponentiation | Medium | ব্যাখ্যা: CP-Algorithms · CSES |
| 030 | Fast Power | Medium | LeetCode |
| 031 | Large Number Mod | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 032 | Modular Inverse Basic | Medium | ব্যাখ্যা: CP-Algorithms |
| 033 | Fermat Little Theorem | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 034 | nCr mod Prime | Hard | CSES — Binomial Coefficients · সূত্রের ব্যাখ্যা |
| 035 | Modular Division | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 036 | Cyclic Remainder Pattern | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 037 | Clock Arithmetic Problems | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 038 | Hashing with Mod | Medium | ব্যাখ্যা: CP-Algorithms |
Level 3 — Counting & Combinatorics¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 039 | Factorial | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 040 | Permutation Basic | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 041 | Combination Basic | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 042 | nCr using Pascal Triangle | Medium | LeetCode |
| 043 | Stars and Bars Basic | Medium | পাঠ্যবই |
| 044 | Inclusion-Exclusion Basic | Medium | ব্যাখ্যা: CP-Algorithms |
| 045 | Count Pairs | Easy | LeetCode |
| 046 | Count Triplets | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 047 | Count Subsets | Easy | LeetCode |
| 048 | Count Paths in Grid | Medium | LeetCode |
| 049 | Catalan Number Intro | Medium | সম্পর্কিত: LeetCode |
| 050 | Derangement Intro | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 051 | Pigeonhole Principle Problems | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 052 | Birthday Paradox Style Problems | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
Level 4 — Bit Manipulation¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 053 | Binary Representation | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 054 | Check ith Bit | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 055 | Set ith Bit | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 056 | Clear ith Bit | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 057 | Toggle ith Bit | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 058 | Count Set Bits | Easy | সম্পর্কিত: LeetCode · LeetCode |
| 059 | Power of Two | Easy | LeetCode |
| 060 | Odd One Out using XOR | Easy | LeetCode |
| 061 | Find Two Unique Numbers | Medium | LeetCode |
| 062 | Subset Generation using Bits | Medium | LeetCode |
| 063 | Bitmask DP Intro | Hard | ব্যাখ্যা: USACO Guide |
| 064 | Gray Code | Medium | LeetCode |
| 065 | AND/OR/XOR Range Tricks | Medium | LeetCode |
| 066 | Maximum XOR Pair | Hard | LeetCode |
Level 5 — Prefix, Difference, Contribution¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 067 | Prefix Sum | Easy | LeetCode · CSES |
| 068 | Range Sum Query | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 069 | Difference Array | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 070 | Range Update Query | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 071 | Prefix XOR | Medium | CSES |
| 072 | 2D Prefix Sum | Medium | LeetCode · CSES |
| 073 | Subarray Sum Equals K | Medium | LeetCode |
| 074 | Count Subarrays Divisible by K | Medium | LeetCode · CSES |
| 075 | Contribution Technique Basic | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 076 | Sum of All Subarrays | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 077 | Sum of Subarray Minimums | Hard | LeetCode |
| 078 | Pair Contribution Problems | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 079 | Imos Method Basic | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 080 | Sweep Line Intro | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
Level 6 — Two Pointers & Sliding Window Math¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 081 | Two Sum Sorted | Easy | সম্পর্কিত / ভিন্ন শর্ত: LeetCode · CSES |
| 082 | Pair with Difference K | Medium | LeetCode |
| 083 | Three Sum | Medium | LeetCode |
| 084 | Container With Most Water | Medium | LeetCode |
| 085 | Sliding Window Sum | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 086 | Longest Subarray with Sum K (Positive) | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 087 | Minimum Size Subarray Sum | Medium | LeetCode |
| 088 | Count Subarrays with At Most K Distinct | Medium | সম্পর্কিত / ভিন্ন শর্ত: LeetCode |
| 089 | Count Subarrays with Exactly K Distinct | Hard | LeetCode |
| 090 | Number of Subarrays with Product Less Than K | Medium | LeetCode |
Level 7 — Binary Search on Answer¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 091 | Basic Binary Search | Easy | LeetCode |
| 092 | Lower Bound | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 093 | Upper Bound | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 094 | Search Insert Position | Easy | LeetCode |
| 095 | Square Root using Binary Search | Easy | LeetCode |
| 096 | Minimum Eating Speed | Medium | LeetCode |
| 097 | Ship Packages Within D Days | Medium | LeetCode |
| 098 | Aggressive Cows | Medium | SPOJ |
| 099 | Allocate Minimum Pages | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 100 | Split Array Largest Sum | Hard | LeetCode |
| 101 | Median of Two Sorted Arrays | Hard | LeetCode |
| 102 | Kth Smallest in Multiplication Table | Hard | সম্পর্কিত / ভিন্ন শর্ত: LeetCode · CSES |
Level 8 — Greedy Math Tricks¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 103 | Minimum Coins Basic | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 104 | Jump Game | Medium | LeetCode |
| 105 | Gas Station | Medium | LeetCode |
| 106 | Candy Distribution | Hard | LeetCode |
| 107 | Interval Scheduling | Medium | LeetCode · CSES |
| 108 | Minimum Platforms | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 109 | Rearrange with Constraints | Medium | LeetCode |
| 110 | Maximum Product by Splitting | Medium | LeetCode |
| 111 | Make Array Equal with Minimum Moves | Medium | LeetCode · CSES |
| 112 | Minimize Maximum Difference | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
Level 9 — Geometry & Coordinate Math (CP-optional)¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 113 | Distance Between Points | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 114 | Slope and Collinearity | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 115 | Area of Triangle | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 116 | Orientation of Three Points | Medium | ব্যাখ্যা: CP-Algorithms |
| 117 | Line Intersection Basic | Medium | ব্যাখ্যা: Segment intersection |
| 118 | Rectangle Overlap | Medium | LeetCode |
| 119 | Circle and Point | Easy | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 120 | Convex Hull Intro | Hard | ব্যাখ্যা: CP-Algorithms · CSES |
| 121 | Manhattan Distance Tricks | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 122 | Rotate Matrix and Coordinates | Medium | LeetCode |
| 123 | Grid Movement Math | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 124 | Pick's Theorem Intro | Hard | ব্যাখ্যা: CP-Algorithms |
Level 10 — Advanced Number Theory (CP-optional)¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 125 | Extended Euclidean Algorithm | Medium | ব্যাখ্যা: CP-Algorithms |
| 126 | Linear Diophantine Equation | Medium | ব্যাখ্যা: CP-Algorithms |
| 127 | Chinese Remainder Theorem Basic | Hard | ব্যাখ্যা: CP-Algorithms |
| 128 | Euler Totient Advanced | Medium | ব্যাখ্যা: CP-Algorithms |
| 129 | Mobius Function Intro | Hard | পটভূমি: Wikipedia |
| 130 | Modular Inverse Advanced | Medium | ব্যাখ্যা: CP-Algorithms |
| 131 | Matrix Exponentiation | Hard | ব্যাখ্যা: Matrix exponentiation |
| 132 | Fibonacci using Matrix Exponentiation | Hard | ব্যাখ্যা: CP-Algorithms |
| 133 | Fast Doubling Fibonacci | Hard | ব্যাখ্যা: Fast doubling |
| 134 | Primality Test Advanced | Medium | ব্যাখ্যা: CP-Algorithms |
| 135 | Miller-Rabin Intro | Hard | ব্যাখ্যা: Miller–Rabin |
| 136 | Pollard Rho Intro | Hard | ব্যাখ্যা: CP-Algorithms |
| 137 | Sieve Variants | Medium | ব্যাখ্যা: CP-Algorithms |
| 138 | Segmented Sieve | Hard | ব্যাখ্যা: CP-Algorithms |
Level 11 — Hard Mixed CP Patterns (CP-optional)¶
Level পরিচিতি · ধারণা · চিত্র
| # | বাংলা ব্যাখ্যা / স্থানীয় নোট | স্তর | মূল প্ল্যাটফর্ম / পাঠ |
|---|---|---|---|
| 139 | Meet in the Middle | Hard | CSES |
| 140 | Ternary Search | Medium | ব্যাখ্যা: CP-Algorithms |
| 141 | Game Theory Basics | Medium | ব্যাখ্যা: CP-Algorithms |
| 142 | Nim Game | Medium | সম্পর্কিত / ভিন্ন শর্ত: LeetCode |
| 143 | Grundy Number Intro | Hard | ব্যাখ্যা: Sprague–Grundy ও Nim |
| 144 | Expected Value Problems | Medium | নিজস্ব অনুশীলনী — স্থানীয় নোটে প্রশ্ন ও সমাধান |
| 145 | Probability DP | Hard | সম্পর্কিত / ভিন্ন শর্ত: AtCoder — I: Coins |
| 146 | Burnside Lemma Intro | Hard | ব্যাখ্যা: CP-Algorithms |
| 147 | Matrix Power on Graphs | Hard | CSES — Graph Paths I |
| 148 | Inclusion-Exclusion Hard | Hard | ব্যাখ্যা: CP-Algorithms |
| 149 | Combinatorics with DP | Hard | সম্পর্কিত / বড় সীমা: CSES — Bracket Sequences I |
| 150 | Constructive Math Problems | Hard | উৎস / সমস্যা খোঁজা |
কোথা থেকে শুরু করবে¶
basics-এ মরচে পড়ে গেছে, হাতে দিনে 2-3 ঘণ্টা — তাহলে পরিকল্পনাটা এমন:
- শুরু করো Level 0 (Absolute Basics) থেকে। সহজ লাগলেও skip কোরো না — গতি আর নির্ভুলতা এখানেই তৈরি হয়।
- দিনে 1-2টা problem। আগে নিজে অন্তত 20-30 মিনিট চেষ্টা, তারপর note/concept মেলানো। গোনার চেয়ে গাঁথা জরুরি।
- সপ্তাহে একদিন revision — আগের 6-8টা problem আবার চোখ বুলিয়ে, একটা dry run হাতে করে দেখা।
- ভিত্তি ও data structure পাশাপাশি শেখো। Level 00–01-এর মৌলিক অংশের পরে array শুরু করা যায়; prefix, window, bits ও binary search দরকারমতো নাও। Level 09–11 অতিরিক্ত CP অনুশীলন; DP শেখার পরে Level 11 পড়লে সুবিধা হবে।
ধৈর্য রাখো — 150টা problem এক দৌড়ে নয়, এক একটা ধাপে। প্রতিটা টিক-মার্ক একটা ছোট জয়। শুভকামনা!