“任意非空查询区间可按二进制拆成 (O(\log n)) 个互不重叠块,按原顺序组合,故一般结合运算的查询为 (O(\log n))。若运算进一步构成幂等半群,令 (k=\lfloor\log…”
形式陈述 ​
幂等半群(band)是满足
的半群
幂等性作用于半群中的每个元素。若
直觉 ​
普通半群允许重新加括号,幂等半群进一步允许一个已经聚合好的信息块重复出现而不改变结果。它适合“重复证据不增加信息”的聚合,如取最小、取最大、集合并。
幂等不等于交换。重复同一个整体可消去,并不意味着两个不同操作可以换序。把这两条性质混在一起,会把算法真正需要的最小代数条件写得过强。
例子与边界 ​
任意全序集合上的
非交换例子是左零半群
加法半群一般不幂等:min 若含 NaN、带符号零或非标准比较语义,还需先确认实现层运算是否真正满足所声明的代数律。
推论与应用 ​
若运算还交换,幂等半群就是半格,可由运算诱导偏序。没有交换律时仍可研究左正规 band、矩形 band 等更细类别,但这些额外恒等式不由幂等性自动推出。
Sparse Table 的两个重叠块技巧只需结合性和幂等性:若左块聚合为
这里重叠部分
参考资料
- John M. Howie, Fundamentals of Semigroup Theory, Oxford University Press, 1995, Chapters 1 and 4.
- A. H. Clifford and G. B. Preston, The Algebraic Theory of Semigroups, Vol. I, American Mathematical Society, 1961.
- J. M. Howie, “An Introduction to Semigroup Theory,” Academic Press, 1976, sections on bands.