当前位置: 首页 > news >正文

基于允许非法状态的贪心策略

基于允许非法状态的贪心策略

在做题目的过程中,我们会发现一种奇特的解法,以二分法求最长上升子序列 \(\text{LIS}\) 为例。

此时我们需要先记录一个长度为 \(len\)\(b\) 数组记录当前的最长上升子序列,然后再用 先看过程

  1. 如果当前 \(a_i > b_{len}\) 那么添加一位,增加答案。
  2. 如果以上不成立,那么选择第一个大于 \(a_i\) 的位置 \(j\),将 \(b_j\) 替换为 \(a_i\)

那么显而易见,第二重情况是 非法 的,即当前的数列并非一个子序列。

但这的确是正确的,于是我们可以分析它的

正确性

首先考虑对于答案的影响,注意到此时操作为 替换 ,对答案是恰好抵消,因此确实长度正确。

不劣性

如果以此操作继续下去,用基本功可以发现再当前我们可以在 \(a_i<a_k<b_j +1\) 时,将 \(a_k\) 弄进来。但若 \(a_k < b_j\) 的话就不可以,因此此时我们的 加入门槛 就降低了。于是依照此方案不断添加,若没有到达 \(1\) 操作答案不变,正确性保证。同时若到达了答案更新,不难发现此时 合法 !

因此简单总结一下几条性质。

  1. 采用非法状态时答案正确,或者说一定存在这样的答案,只不过并非这样的状态。
  2. 这个策略会使得答案更优,且影响答案时已然合法。

然后我们可以看下在反悔贪心的应用。

反悔原题

这题多数人都给出了多次反悔的想法,我的思路大体上为能做就做,不能做就看是否能更优这样的一次反悔。

但是有一个重要的雷点就在于其实我们并不需要判断反悔时是否时间充足。

注意到反悔时对答案不影响,然后能做时特判是否时间充足即可。

这个与上一个是十分类似的。

(未完待续)

http://www.jsqmd.com/news/334529/

相关文章:

  • 嵌入式数据库C++集成
  • SSM毕设项目:基于ssm的电子商务平台的设计与实现(源码+文档,讲解、调试运行,定制等)
  • (新卷,100分)- 开源项目热度榜单(Java JS Python C)
  • 高性能文本处理库
  • AI 论文写作工具排名(实测不踩坑)
  • 蜜度与大象融媒达成战略合作 共筑AI时代舆情管理新生态
  • 【毕业设计】基于ssm的电子商务平台的设计与实现(源码+文档+远程调试,全bao定制等)
  • 突破职业瓶颈!2026 程序员 10 大职业前景方向,网安低门槛衔接开发技能首选
  • C++中的委托构造函数
  • 还在多系统间切换查看光功率?何不试试“光+无线”的统一纳管?
  • C++与Qt图形开发
  • 【毕业设计】基于ssm的红色文化宣传平台的设计与实现(源码+文档+远程调试,全bao定制等)
  • Hadoop与人工智能:推动大数据智能化发展
  • Python虚拟环境(venv)完全指南:隔离项目依赖
  • 领航低空新经济:大漠大荣膺福布斯中国“领航企业”奖
  • 构建基于NLP的金融监管文件遵从性自动检查系统
  • CTF 全题型答案 + 详细步骤:从隐写术到漏洞利用,网安大赛解题指南
  • 开题报告基于PHP的校园OA系统
  • 移动平台C++开发指南
  • 多智能体架构实战:LangChain构建高效AI系统的四种模式选择
  • 大数据深度学习|计算机毕设项目|计算机毕设答辩|基于知识图谱的程序设计课程关键知识链子系统开发
  • 开题报告基于PHP的会客间留言系统
  • 全球网安人才缺口达 480 万!高校培养的关键突破口在哪?专家深度解读
  • 【导弹】计算战场中发射的烟幕干扰弹对来袭导弹干扰时间【含Matlab源码 15038期】
  • 大模型学习宝典:发展历程、RAG技术与Agent架构详解,建议收藏
  • -基于JAVA的二手显卡交易系统-论文
  • 【图像压缩】传统方法和深度学习方法静止图像压缩编码【含Matlab源码 15041期】复现含文献
  • SSM毕设项目推荐-基于SSM跨境电商网站的设计与实现/海外购物平台的设计基于ssm的电子商务平台的设计与实现【附源码+文档,调试定制服务】
  • C++中的工厂模式高级应用
  • 【图像压缩】传统方法和深度学习方法静止图像压缩编码【含Matlab源码 15041期】复现含文献t