今天上午做了两道单调队列的题,其中一道用循环暴力破解做的。第一道的大概题意是,在x轴上有很多宽度高度不一样的矩形,问最大的矩形面积是多少。这个题和前几天做的题都很相似,都是维护两个单调队列,一个求在i这个数左边比这个矩形高的连续矩形有几个,另一个是求右面的,然后就是长宽乘积求最大面积。第二道,是看一下给出的数列中是否存在单调递增的子序列,然后求子序列的长度-1。没有则是-1。这个题用单调队列直接维护一个单调队列,然后求维护中最长的一个队列是多少就行了,但是tle,原来还要用别的方法,线段树后者其他,这个都没学,看到暴力破解可以,就用了暴力。
下午本来想把剩下的那道题做完,但没想到,这道题输入输出就这么麻烦,后来在poj的discuss上也没有看到有人分析。网上也是搜不到题解的,因为poj这些年就100个人做了这道题,幸亏和我们一起集训的还有一个高中训练过的,解决了这道题,我看了一下代码170行,大部分都在为输入输出做准备,中间用了一点单调队列,我是没想先打这个代码,我是先复习了一下单调队列,学习了一下树状数组。
努力把知识搞懂,想明白,一步一步的走,一点一点的看。