![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈, 队列, 优先队列
文章平均质量分 75
LBJHan
经历过就是财富
展开
-
并查集, 畅通工程(简单并查集)
并查集简单来说就是找集合,把具有相同特点的元素归纳到一个集合, 构造一个类似树的数据结构,赋予他们共同的祖先;简单并查集包括两个函数,一个是find()函数,用来找元素的祖先,即树的根结点;一个是unionSet()函数,连接两个点;当然,函数的名字可以自定义,可以叫father()函数,可以叫想x()函数,凭自己喜好定义;首先说一下find()函数int find(int原创 2017-07-22 09:06:22 · 307 阅读 · 0 评论 -
Sliding Window POJ - 2823 (DP的单调队列优化)
Sliding Window 题目连接:POJ - 2823 题意:一个长度为n的数组,用一个长度为k的滑动窗口扫描数组,在每次移动窗口时,求出窗口中出现的数的最大值和最小值;用单调队列优化,求最小值时维护一个单调增队列,使得队首为最小;求最大值时维护一个单调减队列,使得队尾为最大;可以数组模拟,也可以用STL的deque(因为队列的首尾都有操作);C++交AC,G++交TLE;#include...原创 2018-05-29 18:59:03 · 230 阅读 · 0 评论 -
Max Sum of Max-K-sub-sequence HDU - 3415(最大连续k子段和,单调队列)
Max Sum of Max-K-sub-sequence HDU - 3415题意:找出循环数列中长度不超过k的最大的子段和;要找的子段的长度不超过k,普通思路就是由长度为1找到长度为k;O(nk)的复杂度,k小点还好说, 如果k很大就不可...原创 2018-05-22 20:47:51 · 521 阅读 · 0 评论 -
Largest Submatrix HDU - 2870
Largest SubmatrixHDU - 2870题意:n*m的矩形中每个格子有一个小写字母, 只包含a,b,c,w,x,y,z;w可以转换成a,b;x可以转换成b,c;y可以转换成a,c;z可以转换成a,b,c;问转换后得到的只包含一种字母的最大的矩形的面积;做这道题前可以先做一下HDU - 1506和HDU - 150...原创 2018-05-19 15:26:05 · 120 阅读 · 0 评论 -
City Game HDU - 1505(单调栈)
City Game HDU - 1505题意:开发商在一块m*n的地皮上建楼房, 一直这块地有空地和已用地, 空地用F表示, 已用地用R表示, 每单位面积的地皮市值3$, 求出这整块地皮上价值最大的一块矩形地皮;HDU 1506 ...原创 2018-05-19 14:46:39 · 190 阅读 · 0 评论 -
Largest Rectangle in a Histogram HDU - 1506
Largest Rectangle in a Histogram HDU - 1506题意:n个宽为1, 高不定的矩形, 以宽为底, 按给出顺序排列, 找出其中所能构成的最大的矩形的面积;每个小矩形所在的最大矩阵是从他...原创 2018-05-19 11:24:19 · 221 阅读 · 0 评论 -
Seinfeld HDU - 3351(栈 匹配括号)
Seinfeld HDU - 3351题意:只包含'{','}'的偶数长度的字符串, 每次只能改变一个括号:'{'->'}'或'}'->'{'; 求最少的操作次数, 使字符串是合法的;#include <cstdio>...原创 2018-05-17 17:06:41 · 322 阅读 · 0 评论 -
Passing the Message HDU - 3410(单调栈的应用)
Passing the Message 题目链接: HDU - 3410题意:身高互不相同的孩子站成一排(无序), 老师告诉最高的孩子信息, 由最高的孩子向下传递;每个孩子只能将信息传给...原创 2018-04-19 11:02:50 · 243 阅读 · 0 评论 -
食物链(带权并查集)
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动物,用上述两种说法,一句接一句地原创 2017-08-26 10:45:55 · 292 阅读 · 0 评论 -
hdu 3351 Seinfeld(栈操作)
SeinfeldTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2037 Accepted Submission(s): 983Problem DescriptionI’m out of stories原创 2017-09-12 16:30:30 · 335 阅读 · 0 评论 -
看病要排队(优先队列)
看病要排队这个是地球人都知道的常识。 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍里面选择一个优先权最高的人进行诊治。如果遇到两个优先权一样的病人的话原创 2017-09-12 15:15:54 · 688 阅读 · 0 评论 -
hdu 1022 Train Problem I(栈的操作);
Train Problem ITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 39281 Accepted Submission(s): 14788Problem DescriptionAs the n原创 2017-09-12 11:05:31 · 196 阅读 · 0 评论 -
ACboy(队列和栈的基础操作)
ACboy was kidnapped!! he miss his mother very much and is very scare now.You can't image how dark the room he was put into is, so poor :(.As a smart ACMer, you want to get ACboy out of the monst原创 2017-09-09 09:36:30 · 553 阅读 · 0 评论 -
Problem A. Ascending Rating HDU - 6319 (单调栈 )
Problem A. Ascending Rating 题目链接:HDU - 6319 题意:在一个数列a中任选一个长度为m的区间;设maxrating和count初始值均为0,然后从该区间的左边第一个位置开始遍历该区间,没遇到一个大于maxrating的数x,就将maxrating改为x,同时count++;遍历完该区间后就得到了该区间的maxrating值和count值;求A,...原创 2018-07-31 18:38:14 · 180 阅读 · 0 评论