题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2870分析:分别转换成'a','b','c'三种来求,其实就跟hdu1505一样了。。。#include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2014-11-25 01:31:51
阅读次数:
257
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1505分析:这题是HDU 1506 的加强版,定义一个二维数组,d[i][j]表示第i行j列元素在前i行中的最大高度。(以第一行为底)例如测试样例:0 1 1 1 1 1 0 1 1 1 1 11 1 1...
分类:
其他好文 时间:
2014-11-25 00:02:09
阅读次数:
309
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1506分析:对于每个单位矩阵,我们先求出连续比它高的最左边的下标假设为l,然后求出比它高的最右边的下标假设为r,然后矩阵的面积就是(r-l+1)*1;我们从左到右扫一遍,求出每个点的l保存在l[]数组里,...
分类:
其他好文 时间:
2014-11-24 22:25:19
阅读次数:
204
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1081 分析:a[i][j]代表第i行,前j个数据的和;那么由a[i][j]可得sum[k][long]=a[k][j]-a[k][i-1];long=j-i+1;sum[k][long]表示第k行,从第...
分类:
其他好文 时间:
2014-11-24 20:30:24
阅读次数:
172
题目大意:给定一个矩阵,多次求一个子矩阵中的第k小
正解:CDQ分治 不会
二维莫队? 不会
于是果断分块大法好(又是
我们将这n*n个数排序 分n次插入 每次插入n个
每次插入后 去链表上处理尚未出解的询问(我懒得写链表写了并查集) 如果当前询问的子矩阵内已经插入大于等于k个数 那么答案一定在当次插入的n个数中 暴力查找即可
时间复杂度O(n^3+nq) 好卡……
#inclu...
分类:
其他好文 时间:
2014-11-21 23:23:37
阅读次数:
304
对于矩阵连乘机问题就不概述了,主要是找出最佳的结合方式使得整个式子的运算次数最少。
对于这个问题之所以用动态规划的原因点如下:
第一:由于矩阵连乘机本身可以划分为若干个子矩阵链连乘机,而且若干个子矩阵链的最优解组合起来就是原矩阵链的最优解。
第二:对于原矩阵链的不同划分中个子问题是存在重叠子问题。
所以当此问题用动...
分类:
其他好文 时间:
2014-11-21 14:29:41
阅读次数:
708
题目大意:给出一个矩阵,求出一个k*k的子矩阵,使得这个矩阵中最大值和最小值的差最小,输出这个差值。
思路:利用单调队列维护每一行的数字,求出一个数字前面k个数字中的最大值和最小值,然后在列上暴力求出真个矩阵的最大值和最小值,总时间复杂度O(M*M+M*M*K)。
CODE:
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-11-20 13:46:59
阅读次数:
222
题目大意:给出一个矩阵,求在这个矩阵中取出k个不重叠的矩阵的最大和。
思路:怎么做?
这个问题困扰我好几天的时间,终于再一次读题:
。。。
。。
。。。
2??!!
这尼玛逗我??直接说最多两列不好么?还用矩阵吓唬我?
好吧下次我一定认真看题。。
我的做法比较渣,算出来的时间复杂度是O(m^3*k),但是只有最多3000w,还是可以过的。
状态:f[i][j][...
分类:
其他好文 时间:
2014-11-19 14:12:05
阅读次数:
192