题目
答案:B
考点
分治算法归并排序
解题思维
分治三步:分解(Divide)→ 解决(Conquer)→ 合并(Combine)。归并排序的关键在于合并两个有序子数组。
常见错误
归并排序递归划分时,边界容易出错。注意 merge 的区间范围是左闭右开还是闭区间。
详细解析(节选)
【考点】分治|归并排序
1. 🎯 考纲定位
GESP五级《算法与数据结构》模块,分治算法专题。命题人专挑这个点,因为分治是五级到六级的分水岭——多数同级考生能把冒泡、选择、插入、甚至快速排序背下来,但一旦问到"基本思想",90%的人就停在"排序"这个表层概念上,卡不住"分治"这个底层逻辑。
同考点真题
- 第 28 题· NOIP 2007 普及组初赛试题 · 答案 return(dr<tr+s)&&(dc<tc+s)dr<tr+s&&dc<tc+schessboard(tr,tc,tr+s-1,tc+s-1,s)chessboard(tr,tc+s,tr+s-1,tc+s,s)chessboard(tr+s,tc,tr+s,tc+s-1,s)chessboard(tr+s,tc+s,tr+s,tc+s,s)看解析 →
- 第 27 题· NOIP 2008 提高组初赛试题 · 答案 a[left];a[j]<valuea[j]<=valuea[i]>valuea[i]>=valuea[i] = value; i + 1,right,n FindKth(left, i – 1, n);看解析 →
- 第 26 题· NOIP 2009 普及组初赛试题 · 答案 NPOI看解析 →
- 第 28 题· NOIP 2011 提高组初赛试题 · 答案 num++num = num + 1j = isolve(left, j - 1, deep + 1)solve(j + 1, right, deep + 1)看解析 →
- 第 15 题· NOIP 2012 普及组初赛试题 · 答案 C看解析 →