I am good at solving DP problems when the recurrence is apparent and the order of evaluating states follows from the recursion. However, I get stumped when the problem requires a weird order of evaluating states.
For example: 1367F2 - Flying Sort (Hard Version). Here the DP states are the values in the array while the order in which we evaluate them is based on the indices. I am looking to get better at these kinds of problems. I am open to suggestions / a list of practice problems.