恩,纯水。。高一的时候连平方都不知道,只知道nlogn,后来才知道平方的,额,果然是dp菜。
题目大意:
给你一列数,求单调不上升子序列,以-1结尾。
简略题解:
用单调队列维护这个序列,如果这个数比队尾数<=那么直接插到队尾。如果比队尾数大,那么可以往前找到第一个比这个数大的数,插到它后面,最后队列的长度就是答案。
至于这个算法为什么是对的,我想这个算法本身就是很好的证明吧(很多人问过,可是我太菜了。。)。
附程序:
恩,纯水。。高一的时候连平方都不知道,只知道nlogn,后来才知道平方的,额,果然是dp菜。
题目大意:
给你一列数,求单调不上升子序列,以-1结尾。
简略题解:
用单调队列维护这个序列,如果这个数比队尾数<=那么直接插到队尾。如果比队尾数大,那么可以往前找到第一个比这个数大的数,插到它后面,最后队列的长度就是答案。
至于这个算法为什么是对的,我想这个算法本身就是很好的证明吧(很多人问过,可是我太菜了。。)。
附程序: