题意:
在给的图形中,找到F组成的最大矩形面积。面积要乘以3输出。
做法:
先把每行都从左到右预处理。mp里存的是包括自己的左连续 F的个数。
预处理好之后,再一列列处理,把当前列做为右边界,然后每一列计算最大矩形面积的方法就和 hdu1506 一样了。...
分类:
其他好文 时间:
2015-03-11 23:31:22
阅读次数:
270
题意:
输入n个柱子,并排放。问最大的矩形面积。
要维护两个单调队列,lft和rit。lft [i]表示i点,左边连续有比i点高的柱子的话,把最左边的柱子编号记录在lft [i]。 rit 同理,记录i的最右边连续比i高的柱子的编号。
第一个案例:
id 1 2 3 4 5 6 7
h 2 1 4 5 1 3 3
lft 1 1 3 4 1 6 6
rit 1 7 4 4 7 7 7
有了lft 和rit 就可枚举每一列计算那一列向两遍扩展的最大的宽了。再乘上该列的高,就是包含该列的最大的面积了。...
分类:
其他好文 时间:
2015-03-10 23:19:06
阅读次数:
400
DP/单调队列优化 题意:k个人粉刷总长为n的墙壁(或者说栅栏?),每个人有一个必刷点s[i](这个人也可以一点也不刷,如果刷就必须刷这个点),最大粉刷长度l[i](必须是连续粉刷一段),和粉刷一格的报酬p[i],每格不能重复粉刷,求最大报酬总和。 唉……orz了一下proverbs,表示列dp.....
分类:
其他好文 时间:
2015-03-10 21:09:59
阅读次数:
148
DP/单调队列优化 首先不考虑奶牛的喜欢区间,dp方程当然是比较显然的:$ f[i]=min(f[k])+1,i-2*b \leq k \leq i-2*a $ 当然这里的$i$和$k$都是偶数啦~这个应该很好理解吧……每次喷灌的都是一个偶数长度的区间嘛…… 那么加上奶牛的喜欢区间的话,只需这样.....
分类:
其他好文 时间:
2015-03-09 18:58:55
阅读次数:
292
DP/单调队列优化 题解:http://www.cnblogs.com/jianglangcaijin/p/3799736.html 令f[i][j]表示第 i 天结束后,手里剩下 j 股的最大利润,则有: \[ f[i][j]= \begin{cases} f[i-1][j] & &{(...
分类:
其他好文 时间:
2015-03-08 12:56:20
阅读次数:
239
DP/单调队列优化 题解:http://www.cnblogs.com/yymore/archive/2011/06/22/2087553.html 引用:首先我们要明确几件事情1.假设我们现在知道序列(i,j)是符合标准的,那么如果第j+1个元素不比(i,j)最大值大也不比最小值小,那么(i,.....
分类:
其他好文 时间:
2015-03-07 13:57:44
阅读次数:
199
单调队列,顾名思义就是队中元素都是单调的队列,它们即可以是单调递增,也可以是单调递减的,单调队列有着重要的应用。 通过几道经典题目来熟悉单调队列: 1.集合 若一个数x在集合中,则2x+1,3x+1也在集合中,已知开始1在集合中,求集合第n大的数字。 分析:如果用朴素的方法对付不了很大的数据,可以....
分类:
其他好文 时间:
2015-03-07 13:54:57
阅读次数:
131
DP/单调队列优化 呃……环形链求最大k子段和。 首先拆环为链求前缀和…… 然后单调队列吧 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #define rep(i,n) for(i...
分类:
其他好文 时间:
2015-03-07 13:37:44
阅读次数:
138
先把整个矩阵处理成b[n][m-K+1]、c[n][m-K+1]大小的两个矩阵,分别存储每行每K个数中的最大、最小值,然后再通过b、c处理出d、e分别表示K*K大小的子矩阵中的最大、最小值即可。单调队列暴力。#include#includeusing namespace std;#define N ...
分类:
其他好文 时间:
2015-03-07 10:07:05
阅读次数:
637
用两个单调队列维护序列中的最大值和最小值即可。poi~#include#includeusing namespace std;int m,n,head[2]={1,1},tail[2]={1,1},q[2][3000001],a[3000001],ans;int main(){ scanf("%d%...
分类:
其他好文 时间:
2015-03-07 08:31:22
阅读次数:
149