摘要: 对于第一问, 简单的dp. f(i, j)表示以(i, j)为左上角的最大正方形, f(i, j) = min( f(i + 1, j), f(i, j + 1), f(i + 1, j + 1)) + 1 (假如(i, j)和右边和下边不冲突)第二问就是经典的悬线法解决最大子矩阵了, 维护悬线H[... 阅读全文
posted @ 2015-08-09 19:56 JSZX11556 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 最大子矩阵...悬线法..时间复杂度O(nm)悬线法就是记录一个H向上延伸的最大长度(悬线), L, R向左向右延伸的最大长度, 然后通过递推来得到.------------------------------------------------------------------#includeu... 阅读全文
posted @ 2015-08-09 15:37 JSZX11556 阅读(278) 评论(2) 推荐(0) 编辑
摘要: 直接求逆序对就行了...时间复杂度O(nlogn)-------------------------------------------------------------------------#includeusing namespace std;#define idx(c) ((c) - 'A... 阅读全文
posted @ 2015-08-09 15:03 JSZX11556 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 处理出每个数下一个出现的位置, 然后按左端点排序回答询问、处理当前数去除的影响--------------------------------------------------------------------#includeusing namespace std;#define lowbit(... 阅读全文
posted @ 2015-08-09 11:33 JSZX11556 阅读(201) 评论(0) 推荐(0) 编辑