Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/skm2000/Dynamic-Programming

A DP a day keeps the bug away.
https://github.com/skm2000/Dynamic-Programming

Last synced: 7 days ago
JSON representation

A DP a day keeps the bug away.

Awesome Lists containing this project

README

        

# Dynamic-Programming
A DP a day keeps the bug away.

**Cointains Dp Problems**

**Parent Problem** : [*Kadane's Algorithm*](/Kadane.cpp)

1) [Best Time to Buy and sell Stock(Leetcode)](/Best_Time_To_Buy_And_Sell_Stock_.cpp)

2) [Circular Kadane](/Circular_Kadene.cpp)

**Parent Problem** : *Fibonacci*.

SubProblems :

1) [Reach a given Score](/Reach_a_given_score.cpp).

2) [Count number of hops](/Count_Number_of_hops.cpp).

3) [Count ways to reach n-th stair](/Count_ways_to_N'th_Stair.cpp).

4) [Count Number of Ways to Tile](/No_Of_Ways_To_Tile.cpp).

5) [Tiling Problem-General](/Tiling_Problem.cpp).

6) [Maximum Sum Dividing](/Maximum_Sum_Dividing_Recurssive.cpp).

7) [Friends Pairing Problem](/Friends_Pairing_Problem.cpp)

8) [Maximize the Cutting](/Maximize_the_cutting.cpp)

9) [Number of Ways to Decode a String](/Number_of_ways_to_decode_a_string.cpp)

**Parent Problem** : [*0/1 KnapSack Problem*](/Knapsack_0_1.cpp)

SubProblems :

1) [SubSet Sum](/SubsetSum.cpp).

2) [Equal Sum Partition](/Equal_Sum_Partition.cpp).

3) [Count of SubSet Sum]().

4) [Minimum SubSet Sum Difference](/Minimum_Subset_Sum_Difference.cpp).

5) [Count SubSets of given Sum](/Count_Subsets_of_given_Sum.cpp).

**Parent Problem** : [*Unbounded KnapSack*](/Unbounded_Knapsack.cpp)

SubProblems :

1) [Coin Changing Problem 1(No of ways)](/Coin_Changing_1.cpp).

2) [Coin Changing Problem 2(Minimum no of coins)](/Coin_Changing_2.cpp).

3) [Rod Cutting Problem](/Rod_Cutting.cpp).

4) [Minimum Cost to Fill Bag](/Minm_Cost_To_Fill_Bag.cpp).

**Parent Problem** : [*Longest Common SubSequence*](/Longest_Common_Subsequence.cpp)

SubProblems :

1) [Longest Common SubString](/Longest_Common_Substring.cpp).

2) [Shortest Common SuperSequence](/Shortest_Common_Supersequence.cpp).

3) [Print LCS](/Print_Longest_Common_Subsequence.cpp).

4) [Minimum Insertions And Deletion to Convert a String](/Minm_Insertion_Deletion_Convert.cpp).

5) [Longest Repeating SubSequence](/Longest_Repeating_Subsequence.cpp).

6) [Longest Pallindromic SubSequence](/Longest_Pallindromic_Subsequence.cpp).

7) [Edit Distance](/Edit_Distance.cpp).

8) [Count All Pallindromic SubSequence](/Count_All_Pallindromic_Subsequence.cpp).

9) [Minimum Deletion to make string pallindrome](/Minm_Deletion_To_Make_Pallindrome.cpp).

10) [Count Distinct Occcurences](/Distinct_Occurences.cpp).

11) [Maximum length of pairs](/Maximum_length_of_pairs.cpp).

12) [Minimum Ascii Sum deletion To Make two Strings equal](/Minimum_Ascii_Sum_deletion_To_Make_two_Strings_equal.cpp).

13) [Maximum Dot Product of Subsequences(Leetcode)](/Maximum_Dot_Product_Subsequence.cpp).

14) [Uncrossed Lines(LeetCode)](/Uncrossed_Lines.cpp).

**Parent Problem** : [*Longest Increasing Subsequence*](/Longest_Increasing_Subsequence.cpp)

1) [Russian Doll Envelope(Leetcode)](/Russian_Doll_Envelope.cpp).

2) [Longest Decreasing SubSequence](/Longest_Decreasing_Subsequence.cpp).

3) [Maximum Sum Increasing SubSequence](/Maximum_Sum_Increasing_Subsequence.cpp).

4) [Maximum Sum Decreasing SubSequence](/Maximum_Sum_Decreasing_Subsequence.cpp).

5) [Maximum Product Increasing Subsequence](/Maximum_Product_Increasing_Subsequence.cpp).

6) [Minimum Jumps to reach end](/Minimum_Jumps_To_Reach_End.cpp).

7) [Box Stacking Problem](/Box_Stacking_Problem.cpp).

8) [Longest Bitonic Sequence](/BitonicSequence.cpp).

9) [Longest Alternating Subsequence](/longest_alternating_subsequence.cpp)

10) [Count All Increasing Subsequences](/Count_All_Increasing_Subsequences.cpp).

**Parent Problem** : *DP + Greedy*

1) [Jump Game-2(Leetcode)](/jump_game_2..cpp).

2) [Video Stiching(Leetcode)](/video_stiching.cpp).

3) [Minm number of taps to open water](/minm_number_of_taps_to_open_water.cpp).

**Parent Problem** : *Game(DP) + minimax*

1) [Nim Game](/nim_game.cpp).

2) [Flip Game-1](/flip_game.cpp).

3) [Flip Game-2](/flip_game2.cpp).

4) [Get Minimum Squares](/Get_Minimum_Squares.cpp).

5) [Optimal Strategy to play a Game](/Optimal_Strategy_To_Play_A_Game.cpp).

6) [Stone Game-3](/Last_Stone_3.cpp)

7) [Jump Game-3(Leetcode)](/Jump_Game_3.cpp)

8) [Jump Game-5(Leetcode)](/Jump_Game_5.cpp)

**Parent Problem** : *Dp on Grids*

1) [Maximum Size Submatrix Square](/Maximum_Size_Submatrix_Square.cpp).

2) [Maximum Path Sum in Triangle](/Max_Path_Sum_in_Triangle.cpp).

3) [Minimum Initial Points to Reach Destination](/Minimum_Initial_Points_To_Reach_Destinaion.cpp).

4) [GoldMine Problem](/GoldMine_Problem.cpp)

5) [Path in a Matrix](/Max_path_sum.cpp)

6) [Maximal Square(Leetcode)](/maximal_square.cpp)

7) [Count Submatrices with all ones(Leetcode)](/count_submatrices_with_all_ones.cpp)

8) [Maximum Sum Submatrix](/maximum_sum_submatrix.cpp)

9) [Unique Path-1](/unique_paths_1.cpp)

10) [Unique Path-2](/unique_paths_2.cpp)

**Parent Problem** : [*Matrix Chain Multiplication*](/Matrix_Chain_Multiplication.cpp)

**Parent Problem** : [*Count Distinct SubSequences*](/Count_Distinct_Subsequences.cpp)

**Parent Problem** : *Dp on Trees*

1) [Max Path Sum](/Max_path_sum.cpp)

2) [Maximum Path Sum in a Tree from Any node to any other node](/Maximum_Path_Sum_in_Binary_tree.cpp)

3) [Diameter of a Binary Tree](/Diameter_Of_Binary_Tree.cpp)

**Others**
1) [Longest Consequetive Subsequences](/Longest_Consequetive_Subsequence.cpp).

2) [Zeroes And Ones](/zerosAndOnes.cpp)
3) [Longest Pallidromic SubString](/Longest_Pallindromic_Substring.cpp).

4) [Count Pallindromic substring of string](/Count_Pallindromic_SubString_Of_String_gfg.cpp)

5) [Product of array except self](/Count_Pallindromic_SubString_Of_String_gfg.cpp)

Happy Coding!!