笛卡尔树
以往不谏,来者可追
这个作者很懒,什么都没留下…
展开
-
Trip
TripTime Limits: 1500 ms Memory Limits: 262144 KB题目大意 给定一个数列a[1..n]|a[i]|≤109|a[i]|\leq10^9,数列中的数两两不同,给定m个询问,每个询问l,r,求存在多少个i∈[l,r]i\in [l,r]满足∀j∈[l,i)a[j]<a[i]\forall_{j\in[l,i)}a[j]\lt a[i]或者∀j∈(j,r原创 2017-08-08 20:45:36 · 249 阅读 · 0 评论 -
历史行程
题意: 给出串,多组询问,问区间[l,r]的两个数[i,j],ij不同,以i,j结尾的前缀最长公共后缀最大是多少。 长度询问数1e5 很容易想到弄个SA,求出height数组 两个前缀的最长公共后缀对应着SA的位置之间height的最小值 考虑一个height值对序列的贡献,也就是要弄出跨过每一个height的两点l,r,并且lr之间不存在更小的。 就相当于在一个笛卡尔树上做子树合并,这个可以用...原创 2019-08-22 16:46:51 · 544 阅读 · 0 评论