【HDU6635 Nonsense Time】树状数组维护最长上升子序列
题目大意
在一个数列ai里依次激活某个位置,求每次激活后的最长上升子序列(LIS)。
思路
可以倒着找。
先找出全部数列的LIS,然后倒着令数列逐位失活,如果失活的那一位在LIS里,就重新找一遍LIS,否则就LIS长度不变。
现在问题就是,怎么找LIS。
以前都是用dp的,这次用树状数组,居然也挺好用的。
树状数组每个结点在变成树状之前,都表示以那个数字结尾的LIS。树状数组维护前缀最大值。
每次...
原创
2019-08-08 10:37:43 ·
258 阅读 ·
0 评论