Beginner Friendly Series on Dynamic Programming || CSES, Codeforces, Kick start etc
Difference between en2 and en3, changed 591 character(s)
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<br>↵
Problem link: https://cses.fi/problemset/task/1633<br>↵
Explanation: [https://youtu.be/5gd5jptXWAM](https://youtu.be/5gd5jptXWAM)↵

Problem 2: Coin Combinations I↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1635<br>↵
Explanation: [https://youtu.be/5BdAl6gfusg](https://youtu.be/5BdAl6gfusg)↵

Problem 3: Coin Combinations II↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1636<br>↵
Explanation: [https://youtu.be/-pXjopzMVrE](https://youtu.be/-pXjopzMVrE)↵

Problem 4: 
Removing Digits↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1637<br>↵
Explanation: [https://youtu.be/32qvB7OP4V8](https://youtu.be/32qvB7OP4V8)↵

Problem 5: 
Grid Paths↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1638<br>↵
Explanation: [https://youtu.be/V64F4wlodUM](https://youtu.be/V64F4wlodUM)↵

Problem 
56: Book Shop↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1633<br>↵
Explanation: [https://youtu.be/qpNy2nuSuaI](https://youtu.be/qpNy2nuSuaI)↵

Problem 
67: Array Description↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1158<br>↵
Explanation: [https://youtu.be/d1H5JylYG4I](https://youtu.be/d1H5JylYG4I)↵

Problem 
78: Edit Distance↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1639<br>↵
Explanation: [https://youtu.be/Ev80c1oIRFg](https://youtu.be/Ev80c1oIRFg)↵

Problem 
89: Rectangle Cutting↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1744<br>↵
Explanation: [https://youtu.be/LdynQjWsO5Q](https://youtu.be/LdynQjWsO5Q)↵

Problem 
910: Two Sets II↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1093<br>↵
Explanation: [https://youtu.be/TOsD3BkIKoQ](https://youtu.be/TOsD3BkIKoQ)↵

Problem 1
01: Beautiful Array↵
------------------↵
Source: Codeforces<br>↵
Problem link: https://mirror.codeforces.com/problemset/problem/1155/D<br>↵
Explanation: [https://youtu.be/IgBLv32QFoQ](https://youtu.be/IgBLv32QFoQ)↵


Problem 112: Number of Valid Arrays↵
------------------↵
Source: Coding Interview<br>↵
Problem link: [Problem Statement](https://docs.google.com/document/d/1_01rKWuqIxSYOqrSBzkj4Ue_AGJMVLBLtLrZX0tCx1Q/edit?usp=sharing)<br>↵
Explanation: [https://youtu.be/QGJXQAaDs3I](https://youtu.be/QGJXQAaDs3I)↵

Problem 1
23: Longest Increasing Subsequence O(NlogN)↵
------------------↵
Source: CSES<br>↵
Problem link: https://mirror.codeforces.com/problemset/problem/1155/D<br>↵
Proof and optimization to NlogN: [https://youtu.be/66w10xKzbRM](https://youtu.be/66w10xKzbRM)<br>↵
Implementation of the algorithm: [https://youtu.be/wqLwv7E1GF0](https://youtu.be/wqLwv7E1GF0)↵

Problem 1
34: Projects↵
------------------↵
Source: CSES<br>↵
Problem link: https://cses.fi/problemset/task/1140<br>↵
Solution Approach: [https://youtu.be/MJn3ogwsUbo](https://youtu.be/MJn3ogwsUbo)<br>↵
Implementation of the algorithm: [https://youtu.be/ISuIwMnSyXc](https://youtu.be/ISuIwMnSyXc)↵


Problem 15
: Beauty of Tree↵
------------------↵
Source: Kick Start<br>↵
Problem link: [Long link](https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ff08/0000000000386edd) <br>↵
Explanation: [https://youtu.be/ueLRceYVcdE](https://youtu.be/ueLRceYVcdE)↵

Problem 1
46: Catch Some↵
------------------↵
Source: Kick Start<br>↵
Problem link: [Long link](https://codingcompetitions.withgoogle.com/kickstart/round/0000000000050ff2/0000000000150a0d)<br>↵
Explanation: [https://youtu.be/ljLIrNKLANE](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!


UPD: Added 2 more problems from CSES: Projects and Removing digits.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en7 English kartik8800 2021-01-07 13:59:52 332
en6 English kartik8800 2020-12-12 17:47:12 370 Tiny change: 'odeforces -> rated:2400<br>\nProb' -> 'odeforces (rated:2400)<br>\nProb'
en5 English kartik8800 2020-07-25 01:19:16 485
en4 English kartik8800 2020-07-17 11:12:47 939 Tiny change: 'rivation).\n\n\nProb' -> 'rivation).<br>\n\n\nProb'
en3 English kartik8800 2020-07-15 22:39:12 591
en2 English kartik8800 2020-07-14 03:29:12 657
en1 English kartik8800 2020-07-13 02:02:50 3612 Initial revision (published)