数据结构
文章平均质量分 79
hcx11333
菜鸡一枚,成长ing。。。
展开
-
HDU2227 Find the nondecreasing subsequences(树状数组+DP+离散化)
题意:给一串数字,求不下降子序列的个数。 思路:数据量大,简单dp O(n^2)会爆,想到用树状数组存储前面的结果。数据量不大,但数据范围大,先离散化处理。复杂度O(n*logn)。 //#include #include #include #include #include #include #include #include #include #include #inclu原创 2016-10-05 15:25:16 · 247 阅读 · 0 评论 -
HDU 3560 Graph’s Cycle Component(并查集)
题意:求一个无向图的连通度和环数。 思路:先用并查集求出图的连通度。对于一个环,每个点的度数都是2,有不满足的点就记录该根节点,最后删去。 //#include #include #include #include #include #include #include #include #include #include #include #include #include #原创 2016-10-07 16:50:21 · 268 阅读 · 0 评论 -
POJ2823 Sliding Window(单调队列)
题意:给一个长度n的数列,输出其中每个长度为k的区间的最小值和最大值。 分析:一共需要求(n-k+1)次区间的最大值和最小值,用两次单调队列,一次维护最小值,一次维护最大值,复杂度O(N)。另外线段树也可以,复杂度O(N*logN)。 先维护一个单调递增序列,对于每个元素,如果大于队尾元素(不破坏队列单调性),就直接插到队尾;如果小于队首元素,就不断弹出队尾元素,知道队列为空或队尾元素小于当前原创 2017-07-30 23:57:20 · 256 阅读 · 0 评论 -
POJ2082 Terrible Sets(单调栈)
题意:给出n个矩形的长和宽,它们挨着排列在x轴上,求能够构成的最大矩形的面积。 思路:多个矩阵拼起来的矩形最大高度取决于最短的那个小矩形,使用两次单调栈处理出每个小矩形左右两个方向上最近的一个比这个矩形矮的矩形的位置, 即确定了当前矩形能向左右两边延伸的最远距离。然后按照矩形的高度从低到高,算出来每个矩形高度能得到的最大面积,取最大值即可。 #include #include原创 2017-07-31 00:09:46 · 236 阅读 · 0 评论