3.7.9 · D3 · HinglishAlgorithm Paradigms

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

2,587 words12 min read↑ Read in English

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


Scenario matrix

Examples karne se pehle, chalte hain har alag situation list karte hain jo ye char DP problems de sakti hain. Har row ek "case class" hai; last column us example ka naam batata hai jo use cover karta hai.

# Case class Kya special hai / beginners kahan toot jaate hain Cover hota hai
A Fibonacci, ordinary base se upar build karo — "sticky note" walk Ex 1
B Fibonacci, degenerate recursion recurrence se pehle rukni chahiye Ex 1
C Coin count, reachable target dp[a]+=dp[a-c], coins bahar Ex 2
D Coin count, target "empty set" ka answer = 1, 0 nahi Ex 2
E Coin min, greedy fail ho jaata DP ko greedy ko beat karna hai Ex 3
F Coin min, impossible target answer hona chahiye, koi galat number nahi Ex 4
G 0/1 knapsack, ordinary 2D table, row ki taraf wapas dekho Ex 5
H 0/1 knapsack, capacity 0 / item bahut bhaari degenerate, kuch fit nahi hota Ex 6
I 0/1 knapsack, 1D reverse-loop correctness direction trap concrete roop mein Ex 7
J Word problem (real world) ek story ko weights/values mein translate karo Ex 8
K Exam twist — count vs permutations loop-order meaning badal deta hai Ex 9

Ab hum har interesting cell ka ek example dekhenge. Pehle Forecast padho aur sach mein andaza lagao — seekhna us gap mein hota hai jo tumhare andaze aur sach ke beech hota hai.


Ex 1 — Fibonacci, ordinary + degenerate (cells A, B)


Ex 2 — Coin change count, reachable + zero target (cells C, D)


Ex 3 — Coin change min, greedy trap (cell E)


Ex 4 — Coin change min, impossible target (cell F)


Ex 5 — 0/1 knapsack, ordinary 2D (cell G)


Ex 6 — 0/1 knapsack, degenerate (zero capacity / item bahut bhaari) (cell H)


Ex 7 — 0/1 knapsack, 1D reverse-loop, concrete roop mein (cell I)


Ex 8 — Word problem: hiker ka backpack (cell J)


Ex 9 — Exam twist: count vs permutations (loop order meaning badal deta hai) (cell K)


Recall Self-test (jawab dene ke baad reveal karo)

Coin-change min coins=[2,4], amount=3 ke liye kyun return karta hai? ::: Saare coins even hain; odd target unreachable hai, isliye dp[3] par hi rehta hai aur mein convert ho jaata hai. 1D 0/1 knapsack mein kaun sa loop direction sahi hai aur kyun? ::: Downward — yeh dp[w-w_i] ko us state ki taraf point karta hai current item se pehle wali, jo "har item zyada se zyada ek baar use karo" enforce karta hai. Coin-change count ke liye dp[0] kya hai aur kyun? ::: — amount 0 banane ka exactly ek tarika hai: empty set. Same recurrence, coins-outside vs amount-outside se kya do alag meanings milti hain? ::: Coins outside = combinations (order ignore); amount outside = permutations (order count).