[BZOJ4506] [Usaco2016 Jan]Fort Moo(DP?)


传送门

总之可以先预处理出来每个位置最多往上延伸多少

枚举两行,看看夹在这两行中间的列最大能构成多大的矩形

可以看出,必须得在一个两行都没有X的区间才有可能构成最大的答案

那么可以把这些区间处理出来,在看看这些区间中的点最左边和最右边的能从下面那一行向上延伸到上面那一行的点,更新ans即可

#include <cstdio>#define N 201#define max(x, y) ((x) > (y) ? (x) : (y))int n, m, ans, p;int h[N][N], b[N];char s[N][N];int main()for(i = 1; i <= n; i++)for(j = i + 1; j <= n; j++)}printf("%d\n", ans);return 0;}

  



上一篇:[POJ2151]Check the difficulty of problems(概率DP)

下一篇:[BZOJ3054] Rainbow的信号(考虑位运算 + DP?)


DP
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图