3.7.9 · D1 · HinglishAlgorithm Paradigms

FoundationsDP problems — Fibonacci, coin change (count + min), 0 - 1 knapsack

2,264 words10 min read↑ Read in English

3.7.9 · D1 · Coding › Algorithm Paradigms › DP problems — Fibonacci, coin change (count + min), 0 - 1 kn

Parent note padhne se pehle, tumhe har wo symbol apna banana hoga jo wahan aata hai. Neeche, har tool ko zero se build kiya gaya hai: pehle plain words mein, phir ek picture, phir reason ki yeh topic uske bina kaam nahi kar sakta. Upar se neeche padho — har item upar wale par lean karta hai.


0. jaisi "function" aakhir keh kya rahi hai?

Figure — DP problems — Fibonacci, coin change (count + min), 0 - 1 knapsack

YEH TOPIC ISKE BINA KAAM KYUN NAHI KARTA: har DP object — , , — inhi machines mein se ek hai. Agar "" pehle se ek labeled box jaisa lagta hai jo input nigal ke answer return karta hai, toh baad ki koi bhi notation tumhe surprise nahi kar sakti.


1. Sequences, indices, aur chhota integer

Figure — DP problems — Fibonacci, coin change (count + min), 0 - 1 knapsack
  • padha jata hai "n kam se kam 2 hai" — symbol ka matlab hai greater than or equal to.
  • padha jata hai "c zyada se zyada a hai" — ka matlab hai less than or equal to.

YEH TOPIC ISKE BINA KAAM KYUN NAHI KARTA: poora game yahi hai ki "position par answer, chhoti positions ke answers se banta hai." "Chhoti positions" ki baat karne ke liye tumhare paas unhe count karne wala ek index hona chahiye.


2. Arrays aur dp[...] table

Figure — DP problems — Fibonacci, coin change (count + min), 0 - 1 knapsack

YEH TOPIC ISKE BINA KAAM KYUN NAHI KARTA: "answer store karo aur reuse karo" bina store karne ki jagah ke bekar hai. Array hi "recursion + memory" mein memory hai.


3. Recursion — ek machine jo khud ko call karti hai

Figure — DP problems — Fibonacci, coin change (count + min), 0 - 1 knapsack

YEH TOPIC ISKE BINA KAAM KYUN NAHI KARTA: "problem ko apni chhoti versions mein todo" hi recursion hai. DP recursion hai jo yaad rakhti hai.


4. Memoization — recursion jo cheezein likh leta hai

YEH TOPIC ISKE BINA KAAM KYUN NAHI KARTA: "har chhoti version ek baar solve karo, store karo, reuse karo" memoization ki definition hai — "DP = recursion + memory" ka doosra adha.


5. Greek letters aur growth symbols

YEH TOPIC ISKE BINA KAAM KYUN NAHI KARTA: yahi symbols hain jisse parent measure karta hai ki DP kaam aaya ya nahi. memoization ka poora selling point hai, ek line mein.


6. , , , , aur

YEH TOPIC ISKE BINA KAAM KYUN NAHI KARTA: parent mein har recurrence ek , ek , ya ek hai chhote table entries par, ek base value ke saath jo sahi matlab dene ke liye sahi choose ki gayi ho.


7. Subsets aur "0/1" idea

YEH TOPIC ISKE BINA KAAM KYUN NAHI KARTA: "value maximize karte hue ek subset chuno" knapsack ka statement hai, aur 0/1 constraint wo ek detail hai jo ise coin change se alag banati hai.


8. Optimal substructure aur overlapping subproblems


Prerequisite map

functions F of n

indices and sequences

arrays the dp table

recursion self call

base case

memoization notepad

growth theta and phi

min max sum plus-equals

subset and zero-one

DP problems topic

optimal substructure

overlapping subproblems


Equipment checklist

ka plain words mein kya matlab hai?
Input ko machine mein daalo; wo ek akela number return karta hai.
Array counting kahan se shuru hoti hai?
Index se, isliye dp[0] pehla box hai.
dp[i][w] mein do brackets kya hain?
Ek grid: row = items allowed, column = capacity left.
Recursion ek sentence mein kya hai?
Ek machine jiske instructions usse chhote input par khud ko run karne ko kehte hain.
Base case kya hai aur yeh kyun hona chahiye?
Sabse chhota input seedha answer diya jata hai; iske bina recursion kabhi nahi rukta.
Memoization recursion mein kya add karta hai?
Ek notepad — har alag answer ek baar compute karo, store karo, reuse karo.
Memoized Fibonacci mein kyun chalta hai mein nahi?
mein se har alag value bilkul ek baar compute hoti hai, exponentially kai baar nahi.
aur ka kya matlab hai?
hai "at least" (greater-or-equal); hai "at most" (less-or-equal).
Unreachable amounts ko se seed kyun karte hain?
Taaki koi bhi real answer automatically chhota ho aur jeet le.
Coin-count ke liye dp[0]=1 kyun hai lekin min-coins ke liye dp[0]=0 kyun?
0 banane ka ek tarika hai (kuch mat lo) vs 0 banane mein zero coins chahiye.
0/1 knapsack mein "0/1" ka kya matlab hai?
Har item zero ya ek baar liya jata hai — kabhi reuse nahi.
DP apply karne ke liye kaunsi do conditions honi chahiye?
Optimal substructure AUR overlapping subproblems.