只要有帮助,都会双号关注/bx
如第一篇题解所说,假设这个数的位置是 xxx,那么子串最大值的个数就是 [1…x][1…x][1…x] 中的后缀最大值个数加上 [x…n][x…n][x…n] 的前缀最大值个数。正确性很显然。
根据笛卡尔树的经典结论,这个东西就是笛卡尔树上 xxx 的层数。
但是如下图,包含 101010 的区间最大值不是只有 333 个吗,而不是层数 444,三个最大值分别为 12,10(只有自己),2012,10\text{(只有自己)},2012,10(只有自己),20
顺便求助一下什么叫带标号的笛卡尔树/kk,与对一个序列(键值为下标和权值)建立笛卡尔树有什么区别