搜索技巧之-剪枝题单

剪枝是去除搜索树当中不必要的搜索路径,从而优化算法,降低时间开销。

常见的剪枝包括:

1可行性剪枝   2排除等效剪枝   3最优性剪枝    4顺序剪枝     5记忆化剪枝

下面将一一举例介绍其原理:

1可行性剪枝

在寻找所有的解决方案时,若某种方案明显不可行/无法找到答案,则停止继续搜索。

2排除等效剪枝

当该方案和之前搜过的方案对结果具有相同效果时,可以只使用一个继续向下搜索。

3最优性剪枝

当前的方案与已有方案相比,结果明显不是最优的时候,例如在某一层取max/min后,发现不能得到更优解时,停止继续搜索。

4顺序剪枝

似乎不太常见,在搜索之前进行排序(预处理),优先搜索排序靠前的会减少不必要的搜索。

5记忆化剪枝

当每个状态的结果是唯一确定且有可能会多次重复搜索时,记录每个状态的搜索结果,并在再次调用时直接返回记录值。

 

 

讲课题单:

剪枝:

P1025 [NOIP2001 提高组] 数的划分

P1433 吃奶酪

P1731  生日蛋糕

P2919 [USACO08NOV] Guarding the Farm S

P1120 小木棍

P1074 靶型数独

特殊剪枝:记忆化

P1464 Function

P1434 [SHOI2002] 滑雪

P5635 【CSGRound1】天下第一   short防止MLE

P2690 [USACO04NOV] Apple Catching G

P3183 [HAOI2016] 食物链 //需要一点 图的知识,入度出度和链表

 

posted @ 2023-07-22 15:26  浪矢-CL  阅读(49)  评论(0编辑  收藏  举报