好久没写博客了..最近新学了CDQ...于是就来发一发一道CDQ的练习题
看上去就是可以dp的样子。
设$dp_i$为以i结尾的最长不下降序列。
易得:$dp_{i}=max(dp_{j})+1 (j<=i&&Max_{j}<=a_{i}&&a_{j}<=Min_{i})$
$Max_{i}$和$Min_{i}$表示第i个点所有变化中的最大值和最小值。
我们考虑用一个什么东西来维护这个dp。
我的第一反应是树状数组套动态开点线段树,而且写那玩意应该也不会太长。
突然想到最近学了CDQ。
于是讲下CDQ怎么搞。