Multi-dimensional DP (dynamic programming) uses states with two or more parameters. Instead of , you have or even . A classic example: counting paths in a grid. You need to track both your row and column to know where you are. One number is not enough. stores the number of paths to reach cell .
Each dimension captures one aspect of the problem state. More dimensions mean more information tracked, but also more memory and computation. The skill is identifying which dimensions you need.