Multi-dimensional Dynamic Programing

If one state could not able to solve your problem then you must increase your state. One dimension is possible when you have only looking for straight-forward solution.

There is already plenty of material available at quora or other sites. Have a look on these one.

See this tutorial that will assure help you u differentiate both single dimension and multi-dimension