悬线法是一种更优秀的枚举方式,保证了枚举悬线的集合包含了极大子矩形所在的集合,而且由最大子矩形一定是极大子矩形的定理可知,这种枚举方式可以求出最大子矩形。 具体做法是维护矩形中每个元素对应最近的左边和右边的障碍点,再维护一个高度数组记录下每个点向上可以延伸多高,还有对应的矩形向左向右可以到达的最大宽 ...
分类:
其他好文 时间:
2018-10-25 14:21:29
阅读次数:
141
悬线法 cpp include include include using namespace std; int n, m, ans=0, h[1005][1005], l[1005][1005], r[1005][1005]; bool a[1005][1005]; char s[15]; int ...
分类:
其他好文 时间:
2017-12-13 23:56:39
阅读次数:
136
counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ1202 BZOJ1051 BZOJ1001 BZOJ1588 BZOJ1208 BZOJ1491 BZO ...
分类:
其他好文 时间:
2017-11-06 21:22:05
阅读次数:
213
如果ac了就有下划线咯。。。 BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ1202 BZOJ1051 BZOJ1001 BZOJ1588 BZOJ1208 BZOJ1491 ...
分类:
其他好文 时间:
2017-10-28 16:32:51
阅读次数:
190
3039: 玉蟾宫 Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。 这片土地被分成N*M个格子,每个格子里写着'R'或者'F',R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda。 ...
分类:
其他好文 时间:
2017-10-04 17:31:38
阅读次数:
151
题目: Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。这片土地被分成N*M个格子,每个格子里写着'R'或者'F',R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda。现在freda ...
分类:
其他好文 时间:
2017-09-13 20:20:51
阅读次数:
203
单调栈 其实是单调栈的变种 维护up,left,right,表示一个点能向左向右向上最大扩展距离,ans就是最大的left*rigth*up up[i][j]=Map[i-1][j]==1?1:Map[i-1][j]+1 left和right 用单调栈求,每次碰见障碍就把栈中元素弹出,栈中元素左端点 ...
分类:
其他好文 时间:
2017-08-17 10:50:45
阅读次数:
159
3039: 玉蟾宫Time Limit:2 SecMemory Limit:128 MBSubmit:574Solved:347[Submit][Status][Discuss]Description有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们...
分类:
其他好文 时间:
2015-07-22 18:07:49
阅读次数:
125
转载请注明出处:
首先我们可以用单调栈每行扫一遍,维护一个点向上下左右各能延伸多长。
当然,这是可以做的,也是很恶心的。
我们可以每行扫一遍,维护每个点当前的[列高度]时能向左向右的最大延伸距离。
当然,某个点可能降低一点高度,就会更宽,结果更优,但是显然既然存在这种结果,那么其它列一定可以代劳。
呃。所以每行扫一遍,然后记录这行每个节点以最大高度能向左向右延伸的最大距离...
分类:
其他好文 时间:
2015-01-20 09:05:29
阅读次数:
191