do_while_true

一言(ヒトコト)

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

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

  • 非自反性,Irreflexivity\(\forall x\in S,x\not <x\)
  • 传递性,Transitivity\(\forall x,y,z\in S, \text{if}\ x<y\ \text{and}\ y<z\ \text{then}\ x<z\)
  • 反对称性,Asymmetry\(\forall x,y\in S,\text{if}\ x<y\ \text{then}\ y\not < x\)
  • 不可比性的传递性,Transitivity of incomparability\(\forall x,y,z\in S\) ,如果 \(x,y\) 不可比且 \(y,z\) 不可比,则 \(x,z\) 不可比,其中 \(x,y\) 不可比当且仅当 \(x\not < y\)\(y\not < x\)

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

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

栗题

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

洛谷 P2123 皇后游戏

Reference

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

One thing you should know about comparators — Strict Weak Ordering

posted @ 2021-09-29 10:24  do_while_true  阅读(441)  评论(0编辑  收藏  举报