思路

开一个 set 维护当前有哪些点是区间的左区间。

对于每个有序区间,开一个权值线段树维护,并记录一下该区间是升序还是降序。

每次排序时就将维护这些区间的线段树分裂再合并,最后查一下每棵树再输出就好了。

阅读全文 »

题面

武士藤藤准备击杀地图上的幽灵。

地图为 $n \times m$(行,列)的整点网格图,坐标从左向右从下到上从 $0$ 编号。

开始藤藤可以从地图的任意的左侧进入,最后藤藤将从地图的右侧离开。

藤藤地图上的行进有一些奇妙的性质:

1.藤藤每单位时间会向右移动一单位长度,以尽快从地图上离开。
2.当一只幽灵与藤藤坐标重合,藤藤就会将其击杀。

阅读全文 »

解析

记录一下每个数前面第一个比它大的和比它小的数的位置,然后从后往前跳。

先把比它大的找到,然后让比它小的在范围内向前跳,跳得越前越好。

每次跳完答案加一。

阅读全文 »