1、定义(什么是状态空间):一个实际问题的各种可能情况构成的集合。(解释:为什么需要算法来和程序来处理问题?如果一道题可以手算得到答案,换句话说就是存在通过代入某个数学式子就直接得到答案的,那么这道题就不是一道算法题,或者他的解直接就是O(1)的。那算法和程序题还有什么意义呢。但是实际是现实生活中我们的很多问题都不是可以直接计算的,我们往往只能大致确定一个范围,然后在这个范围之中再去逐一排除不可行不够优的答案,得到最终答案。这些在逐一判断之前不能确定,都有可能成为答案的解构成的集合就是状态空间。)
2、与基础算法的关系:通过划分,归纳,提取,抽象来帮助提高程序遍历状态空间的效率。
3、状态空间的一些特点
1、分类:枚举,模拟,搜索,递推,递归,二分,倍增,贪心,DP等。
2、作为基础算法,简单易懂却又蕴含着巧妙而深刻的思想。
3、作为构建算法与数据结构体系的基本单位,贯穿整个程序设计竞赛的始末。
4、对于理解后面的复杂算法有着极大的帮助,也对创造新算法具有重要作用。
模拟,枚举,搜索。
(理论上讲所有算法都是暴力。)
(yql说,NOIP暴力能打到580分。)