让你的贪心不再是“赌”:证明贪心策略正确性的三大模型.docxVIP

  • 2
  • 0
  • 约5.25千字
  • 约 8页
  • 2026-06-24 发布于北京
  • 举报

让你的贪心不再是“赌”:证明贪心策略正确性的三大模型.docx

让你的贪心不再是“赌”:证明贪心策略正确性的三大模型

前言:贪心——那个“用着心虚,不用可惜”的算法

在信息学竞赛的考场上,贪心算法是一种让人又爱又恨的存在。

爱它,是因为它快。一道题一旦确认可以用贪心,代码通常不超过20行,时间复杂度往往只有O(nlogn)甚至O(n),写完就跑,轻松AC。

恨它,是因为它“玄”。不像动态规划有明确的递推公式,不像搜索有固定的框架,贪心算法的核心就是一句话——“每次都选当前看起来最好的那个”。但这个“看起来最好”的选择,凭什么最后能导出全局最优解?万一有一个反例藏在某个测试点里,整个程序就会在那个点上全面崩盘。

于是很多选手养成了两个坏习惯。第一个是“赌徒式贪心”——想到一个贪心策略就往上写,不证明,过不过随缘。第二个是“恐贪症”——因为拿不准贪心对不对,即使正解就是贪心,也不敢写,非要用DP或搜索去硬做,结果写得又长又慢。

这两个问题,根源都在于一个认知漏洞:不知道贪心策略是可以通过系统的方法来证明的。证明贪心不是“碰运气”,它有三套严谨的数学工具——交换论证法、归纳奠基法和反证法。掌握了这三套工具,你就从“猜贪心”升级为“证贪心”,从赌徒升级为建筑师。

本文不打算罗列所有常见的贪心题型(那是专题训练该做的事),而是专攻一个更基础、更被忽视的问题——当你凭直觉想出了一个贪心策略后,怎么用规范的方法来判断它到底对不对?

一、重新认识贪心:不是

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档