璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:dp

动态规划

状态空间

一个实际问题的各种可能情况构成的集合

我们使用状态空间来描述问题,这里的“问题”是一种抽象的数学概念,可以理解为:给出条件,求出满足的解。

如果说循环从1找到100这种是线性枚举。线性枚举把数从1一直枚举到了100。线性的枚举。那我们的递归就是一种在状态空间下的枚举。

比如说我们的斐波那契数列的递归写法。我们func(int x);我们这里的x就是一种描述问题的状态空间,x是第x位。它是问题的一种可能情况。我们这个问题是求第n位的斐波那契数列。而我们这里的x可能是我们要求的n位,也可能是n-1位。我们这个func函数可以完美的描述和完美的解决这个问题。也就是求第n位斐波那契数列的问题。

简单举个例子,如果我们现在要在人民广场上找100块钱,那我会干的一件事情就是把人民广场划分成很多个块,比如说西北角一块,东南角一块,东一块,这样这样的。我们是不是就把一个问题“在人民广场找100块钱”抽象成了一个叫“在空间内搜寻物品”的问题,然后我们把人民广场这个大问题,又强行拆分成了“在人民广场东北角找100块钱”。

所以我们能感觉出来,递归是空间上的一种枚举方式。有别与线性枚举,这种枚举更高级。

/app/www/public/data/pages/icpc/dp.txt · 最后更改: 2023/06/06 04:05 由 温婕莺