This is Number of Longest Increasing Subsequences from LeetCode. Given an array, find how many longest increasing subsequences exist. For [1, 3, 5, 4, 7], the answer is 2 because there are exactly two subsequences of maximum length 4: [1, 3, 5, 7] and [1, 3, 4, 7].
This requires tracking two things: the length AND the count. How do you modify the DP (dynamic programming)? Read the problem statement carefully, noting the constraints. Try to identify the recursive structure before looking at the solution.