![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构 队列和栈
文章平均质量分 66
yuhong_liu
这个作者很懒,什么都没留下…
展开
-
Rails-栈
RailsTime Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %I64d & %I64uSubmit StatusDescriptionThere is a famous railway station in PopPush City. Country原创 2015-01-23 12:50:10 · 507 阅读 · 0 评论 -
POJ-2559-Largest Rectangle in a Histogram-单调栈
朴素做法就是 枚举每一个i的高度 为矩形的宽,然后往两边搜索得到最长的矩形 把所有答案比较一遍得到最大的ans当然,这样做会超时。一个可以优化的地方就是 n次枚举中,有很多次是可以省略掉的,用到了单调栈的思想,就节省掉了不必要的很多遍历。。。从而省时到204ms#include #include #include #include #include #include原创 2015-08-25 22:37:11 · 968 阅读 · 0 评论 -
POJ-3250-Bad Hair Day- 又是一颗单调栈
题意:n个牛排成一列向右看,牛i能看到牛j的头顶,当且仅当牛j在牛i的右边并且牛i与牛j之间的所有牛均比牛i矮。 设牛i能看到的牛数为Ci,求∑Ci还是用单调栈秒掉就好了#include #include #include #include #include #include #include #include #include #include原创 2015-08-26 11:55:03 · 559 阅读 · 0 评论 -
POJ-3494-Largest Submatrix of All 1’s-还是单调栈
给出一个n*m的 矩阵 只含“0” 、“1”,求出最大的一个全是1的子矩阵一开始在想用什么奇淫技巧做。。。后来发现暴力做n次像POJ 2796的单调栈操作就好预处理 h[i][j]为点【i】【j】处往上数连续的“1”的个数那么对第i行做一次 得到的是 第i行为底边 高度为h[i][j] 的一个最大面积的矩形(面积为1的个数) 那么只要对每一行做一次,就得到原创 2015-08-26 22:06:20 · 506 阅读 · 0 评论 -
cf#305-D. Mike and Feet- 单调栈/ (线段树上二分)
http://codeforces.com/contest/548/problem/D题意:给一个n长度的数组strength 的定义为 当前数组里面 的最小元素 即为 当前数组的strength 求出给出数组的 长度为 i 的子数组(连续) 的最大的strength值 -- i 是【1,n】;思路:一开始想先对元素的值和位置排序,如果当前元素为i原创 2015-10-12 16:27:00 · 561 阅读 · 0 评论 -
Problem(M25):The Kth Large-单调栈/线段树
Problem(M25):The Kth Large Judge Info Memory Limit: 65536KB Case Time Limit: 2000MS Time Limit: 2000MS Judger: Normal Description In the P.E. class , n students listed in a line on the原创 2015-10-23 00:01:34 · 398 阅读 · 0 评论 -
ZOJ 2422- Terrible Sets-单调栈
http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=40261题面真是神tm难懂。。。。。给你n个连续的矩形,求组合成的最大矩形面积直接单调栈,按套路扫一遍即可#include #include #include #include #include #include #include原创 2016-05-15 17:51:29 · 411 阅读 · 0 评论 -
codeforces#308-E - Vanya and Brackets-枚举+表达式计算
http://codeforces.com/contest/552/problem/E题意:给一个不带括号的 只有加法和乘法的 表达式让你给它加一对括号,使得值最大乘法操作不超过15个。 表达式长度不超过5001思路:由于只有称乘号和加号,可以猜测括号的位置,最优的方法应该是,左括号在乘法右边,右括号在乘法左边因为如果不是这样的话,可以调整原创 2016-04-06 17:08:55 · 393 阅读 · 0 评论 -
ZOJ 2967-C - Colorful Rainbows
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=14130题意:给出n条y=ai*x+bi的直线。对于这些直线,如果存在x使得该直线y大于其他任意一直线,那么这条直线可以被看见,问有多少条直线可以被看见。思路:同斜率,肯定是b最大的才能被看到;先对斜率排序,同效率的只取最大的一个 第一条线一定可以选原创 2015-11-02 16:58:35 · 486 阅读 · 0 评论 -
hud5437-Alisha’s Party-优先队列
就是裸的优先队列 (因为数据太小 了)题意就是 一堆朋友拜访主人公 各自带了礼物给你m次开门的机会,开门时 如果朋友没全部到齐,按以下规则在第m次开门的时候 让礼物价值最大的前p个人进来,全部人到齐后。让全部人进来,求进门的人的顺序对客人维护一个优先队列就可以了,对m,p 让前m个人进优先队列取前p个人就行了,因为数据小 暴力取就ok;trick是原创 2015-09-14 14:12:56 · 397 阅读 · 0 评论 -
poj 2431 Expedition 贪心 + 优先队列
把卡车油用完,然后把 到终点距离大于车到终点距离的全部油站的油 按 油的多少 推进优先队列,然后 取出顶端,车到终点距离减掉这部分油,再进行添加 经过的油站,取最多的油,继续走,,,知道l #include #include #include #include #include #include #include #include #include #inc原创 2015-08-05 09:18:56 · 365 阅读 · 0 评论 -
C. New Year Snowmen --优先队列
要求一堆雪球选出半径完全不同的三个即可做成一个雪人 看最多能做多少个雪人先把雪球半径和对应个数统计好 打包(结构体) 进入优先队列(数量优先)每次pop出前三个,记录好,分别把对应雪球的个数减一(结构体) , 若个数为零,丢弃,否则继续进入队列直到queue.size#include #include #include #include #in原创 2015-07-29 02:53:14 · 620 阅读 · 0 评论 -
POJ-2796-Feel Good-萌萌的单调栈
给一数组设数组参考值为 该区间和乘上区间内最小值求数组内 最大的参考值 用的也是单调栈的思想做的这里区间和 先用前缀和预处理好了;ps:看讨论区有人用什么rmq、dp+树状数组做的。待会也试试 #include #include #include #include #include #include #include #include #in原创 2015-08-26 09:12:13 · 571 阅读 · 0 评论