Skip to content
START WITH A QUESTION

What would you like to understand?

Find an answer. See the moment it becomes clear. Follow the idea further.

← Concept directory

Answers for “动态规划的正式定义是什么?”

2 keyword matches

Understanding your question. You can explore the search results below now.

Find a method

↗

To determine if a problem can be solved with dynamic programming, first try to solve the problem recursively. Then check whether divide-and-conquer style decomposition works, and whether breaking the problem down to the simplest subproblem can eventually build up to the optimal solution.

Conditions: You are trying to decide whether a problem is suitable for dynamic programming.

Find a method

↗

The factorial example illustrates the core mechanism of dynamic programming by showing how a complex problem is recursively broken down into smaller subproblems and then built back up. To compute 4!4!, it depends on 3!3!, which depends on 2!2!, which depends on 1!1!.

Conditions: The problem can be broken down into smaller subproblems.; The solution to the original problem can be constructed from the solutions to the subproblems.