基础算法——贪心和分治.pptxVIP

  • 7
  • 0
  • 约6.16千字
  • 约 114页
  • 2020-04-09 发布于上海
  • 举报
NOIP基础算法——分治与贪心;第五部分;一、分治思想;二、分治法的适用条件;三、分治的三步骤;分治算法设计过程图;在划分问题时,可以采用递归策略,把一个大问题逐步分解成规模较小的子问题,直至可以直接求出子问题的解;再将子问题逐层合并,返回到顶层,得到原问题的解。 根据分治策略的划分原则,把原问题划分成多少个子问题才合适呢?各个子问题的规模应该多大才合适呢? 一般来说,每次划分成2个子问题,每个子问题的规模差不多最合适。合并解时要因题而异,有些问题递归分解完能直接得到原问题的解,有些问题需逐层合并,得到原问题的解。;四、分治的框架结构;五、分治的典型应用;1、求最大值和最小值;【方法2】分治策略 划分:把n个数均分为两半。即:划分点为d=(r1+r2)/2,两个区间为[r1,d]和[d+1,r2]。 递归求解:求左半的最小值min1 和最大值max1以及右半最小值min2和最大值max2。 合并:max1与max2比较得到所有数的最大值为maxx; min1与min2比较得到所有数的最小值为minn。;procedure pd(r1,r2:integer;var maxx,minn:integer) begin var max1,min1,max2,min2,d:integer; if r1=r2 then begin maxx:=x[r1]; minn:=x[

文档评论(0)

1亿VIP精品文档

相关文档