「杂谈」贪心中的邻项交换法

「杂谈」贪心中的邻项交换法

对于集合 S 上的二元关系 <,如果 < 满足自反性、反对称性、传递性、不可比则称其满足严格弱序,形式化地来讲:

  • 非自反性,IrreflexivityxS,xx
  • 传递性,Transitivityx,y,zS,if x<y and y<z then x<z
  • 反对称性,Asymmetryx,yS,if x<y then yx
  • 不可比性的传递性,Transitivity of incomparabilityx,y,zS ,如果 x,y 不可比且 y,z 不可比,则 x,z 不可比,其中 x,y 不可比当且仅当 xyyx

对于贪心策略中的“邻项交换法”,定义的二元关系必须要满足严格弱序才可以,前三条很好理解,最后一条要满足是因为,如果排序后存在相邻不可比元素 a,b,c,其中 ab 不可比,bc 不可比,如果无法保证 ac 不可比,那么需要比较 ac 哪一个更“小”,让其位于前面,但由于不满足不可比性的传递性,所以无法处理这种情况。

综上所述,完成"邻项交换法"所定义的二元关系需要满足弱序关系,且排序结束后任意交换两个相邻元素不会使得答案更优

栗题

洛谷 P1080 [NOIP2012 提高组] 国王游戏

洛谷 P2123 皇后游戏

Reference

浅谈邻项交换排序的应用以及需要注意的问题 ouuan

One thing you should know about comparators — Strict Weak Ordering

posted @   do_while_true  阅读(503)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?

This blog has running: 1845 days 1 hours 33 minutes 56 seconds

点击右上角即可分享
微信分享提示