This series of videos are focused on explaining dynamic programming by illustrating the application of DP through the use of selected problems from platforms like Codeforces, Codechef, SPOJ, CSES and Atcoder.

After going through this series, you should find yourself confident in approaching dynamic programming problems and also implementing them in a reasonable amount of time.

I will also live code and submit the solutions to the problem on the coding platform from where the problem comes.

## Problem 1: Dice Combinations

Source: CSES

Problem link: https://cses.fi/problemset/task/1633

Explanation: https://youtu.be/5gd5jptXWAM

## Problem 2: Coin Combinations I

Source: CSES

Problem link: https://cses.fi/problemset/task/1635

Explanation: https://youtu.be/5BdAl6gfusg

## Problem 3: Coin Combinations II

Source: CSES

Problem link: https://cses.fi/problemset/task/1636

Explanation: https://youtu.be/-pXjopzMVrE

## Problem 4: Grid Paths

Source: CSES

Problem link: https://cses.fi/problemset/task/1638

Explanation: https://youtu.be/V64F4wlodUM

## Problem 5: Book Shop

Source: CSES

Problem link: https://cses.fi/problemset/task/1633

Explanation: https://youtu.be/qpNy2nuSuaI

## Problem 6: Array Description

Source: CSES

Problem link: https://cses.fi/problemset/task/1158

Explanation: https://youtu.be/d1H5JylYG4I

## Problem 7: Edit Distance

Source: CSES

Problem link: https://cses.fi/problemset/task/1639

Explanation: https://youtu.be/Ev80c1oIRFg

## Problem 8: Rectangle Cutting

Source: CSES

Problem link: https://cses.fi/problemset/task/1744

Explanation: https://youtu.be/LdynQjWsO5Q

## Problem 9: Two Sets II

Source: CSES

Problem link: https://cses.fi/problemset/task/1093

Explanation: https://youtu.be/TOsD3BkIKoQ

## Problem 10: Beautiful Array

Source: Codeforces

Problem link: https://codeforces.com/problemset/problem/1155/D

Explanation: https://youtu.be/IgBLv32QFoQ

## Problem 11: Number of Valid Arrays

Source: Coding Interview

Problem link: Problem Statement

Explanation: https://youtu.be/QGJXQAaDs3I

## Problem 12: Longest Increasing Subsequence O(NlogN)

Source: CSES

Problem link: https://codeforces.com/problemset/problem/1155/D

Proof and optimization to NlogN: https://youtu.be/66w10xKzbRM

Implementation of the algorithm: https://youtu.be/wqLwv7E1GF0

## Problem 13: Beauty of Tree

Source: Kick Start

Problem link: Long link

Explanation: https://youtu.be/ueLRceYVcdE

## Problem 14: Catch Some

Source: Kick Start

Problem link: Long link

Explanation: https://youtu.be/ljLIrNKLANE

I am quite confident that many beginners/intermediates will definitely enjoy watching this series on dynamic programming and it will definitely help in getting better at dynamic programming and problem solving in general. I have tried to teach in a way such that not many prior prerequisites are required to understand the explanations even to the harder problems.

If people find this helpful then I will make sure that this list of problems will keep growing, cheers!