一、选点问题解答

最优贪心策略:
(1)排序:所有区间按右端点非降序排列(核心关键)。
(2)初始:选第一个区间的右端点作为首个选点。
(3)遍历:依次检查后续区间,若当前区间不包含最后一个已选点(左端点>已选点),选当前区间右端点为新选点,选点数加一,直至所有区间被覆盖,即全部遍历完。

贪心选择性质证明:
(1)设全局最优解为S={x1,x2,...,xk},按升序排列(x1<x2<...<xk)。
(2)按贪心策略选的第一个点为 y1(第一个区间的右端点),全局最优解的第一个点为 x1 。
(3)因区间按右端点升序,第一个区间右端点y1>=x1(若y1<x1,则第一个区间未被x1覆盖,与S是最优解矛盾)。
​(4)用y1替换S中的x1,得到新集合S'={y1,x2,...,xk} ,因x1<=y1,x1覆盖的区间y1均能覆盖,故S'仍是最优解。
(5)剩余未覆盖区间构成子问题,重复上述逻辑,每次贪心选择均可替代最优解中的对应点。

时间复杂度分析: 排序阶段O(nlogn) ,遍历选点阶段O(n) , 故时间复杂度O(nlogn) 。

二、对贪心算法的理解
(1)核心思想:不追求全局预判,仅做局部最优选择,逐步累积得到全局最优解,依赖问题本身的特殊性质。
(2)适用前提:必须满足两个关键性质,其一贪心选择性质(局部最优可推全局最优);其二最优子结构性质(全局最优解包含子问题的最优解)。
(3)核心特点:优势是逻辑简、代码易实现、效率高,局限是仅适配特定问题。

posted on 2025-12-14 23:12  paidaxing*  阅读(4)  评论(0)    收藏  举报