This repository contains code files and resources related to 2D Dynamic Programming workshop conducted by Ingenuity at IIT Bhilai.
-
Starting from the top-left corner of an
m x n
grid, how many unique paths are there to the bottom-right corner if you can only move either down or right at any point in time? -
Same as the previous problem, but now there are obstacles in the grid. You cannot move through obstacles.
- C++
- Python
-
You are in a book shop which sells
n
books, and you havex
coins. Given the prices and pages of each book, find the maximum number of pages you can buy with the given amount of coins. -
A shop sells
n
items, each with a weight and a price. You are given the weight of each item and the price of each item. There areg
people who want to buy items. Each person can carry own maximum weight ofmw
. Find the maximum price that can be obtained by selling items to these people.- C++
To submit this solution visit here.
- PPT PDF
-
- Dynamic Programming Playlist | Interview Questions | Recursion | Tabulation | Striver | C++ | Java | DSA | Placements
- Mastering Dynamic Programming - How to solve any interview problem (Part 1)
- Lecture 20: Dynamic Programming II: Text Justification, Blackjack - MIT OpenCourseWare
- Lecture 21: Dynamic Programming III: Parenthesization, Edit Distance, Knapsack - MIT OpenCourseWare
- Longest Common Subsequence
- 0-1 Knapsack
- Matrix Chain Multiplication
- Coin Change - I (Optimization)
- Coin Change - II (Counting)
- 0-1 Knapsack variants
- ICPC : Super Sale (Same as 0-1 Knapsack)
- CodeForces : Double KnapSack (2 knapsacks)
- Kattis : Restaurant Orders (Simple Variant; print solutions)
- DP on strings
- Edit Distance (Similar to LCS)
- Longest Palindromic Subsequence
- CSES Problemset DP (Many variants of DP ranging from easy to hard)