摘要: 维护每个数上一次、下一次出现的位置:pre[i]和nxt[i]。“某个数在区间里是否出现”的问题,转化为“区间里nxt[i],pre[i]的最大、最小值”的问题。枚举三元组(i,j,k)中的k,对每个j维护最大的i和最小的i,那么答案就是Σmaxi[j]-mini[j]+1。对maxi和mini分别求和。考虑从k-1变成k时对它们的影响。发现需要支持区间对一个数取min。用吉老师线段树维护即可。 阅读全文
posted @ 2020-05-22 15:39 duyiblue 阅读(553) 评论(2) 推荐(2) 编辑