NOIP基础算法——贪心和分治pascal.pptVIP

  • 0
  • 0
  • 约1.65万字
  • 约 98页
  • 2019-07-13 发布于湖北
  • 举报
NOIP基础算法——分治与贪心 巴蜀中学 黄新军 第五部分 分治策略 一、分治思想 分治(divide-and-conquer)就是“分而治之”的意思,其实质就是将原问题分成n个规模较小而结构与原问题相似的子问题;然后递归地解这些子问题,最后合并其结果就得到原问题的解。 二、分治法的适用条件 能使用分治法解决的问题,它们一般具备以下几个特征: ①该问题可以分解成若干相互独立、规模较小的相同子问题; ②子问题缩小到一定的程度就能轻易得到解; ③子问题的解合并后,能得到原问题的解; 分治法在信息学竞赛中应用非常广泛,使用分治策略能生成一些常用的算法和数据结构,如快排、最优二叉树、线段树等;还可以直接使用分治策略,解决一些规模很大、无法直接下手的问题。 三、分治的三步骤 ①分解:将要解决的问题分解成若干个规模较小的同类子问题; ②解决:当子问题划分得足够小时,求解出子问题的解。 ③合并:将子问题的解逐层合并成原问题的解。 由分治法所得到的子问题与原问题具有相同的类型。如果得到的子问题相对来说还太大,则可反复使用分治策略将这些子问题分成更小的同类型子问题,直至产生出不用进一步细分就可求解的子问题。分治求解可用一个递归过程来表示。 要使分治算法效率高,关键在于如何分割?一般地,出于一种平衡原则,总是把大问题分成K个规模尽可能相等的子问题,但也有例外,如求表的最大最小元问题的算法,当n=6

文档评论(0)

1亿VIP精品文档

相关文档