FZU 1894 志愿者选拔 - 单调队列
题目描述
分析:
暴力肯定过不了。维护一个从大到小的单调队列。
想清楚这些事:
1. 如果前面有人的val比当前加入队伍的人的val小,那么前面那个人的val永远对答案没有贡献,可以删去。
2. 再有就是要删除出队的人,但由于是按照先入队先出队的顺序来删,可以先把这些人的val保留在单调队列里面,下一次找最大RP_val的时候把这些不合法的删掉即可。
注意:当当前实际队伍里面没有人的时候输出 “-1”
#include<cstdio>
#define MAXL 1000000struct node{int pos,val;
}que[MAXL+10];
char s[20];int main()
{int T;scanf("%d",&T);while(T--){scanf("%s",s);int front=0,rear=0,cnt=0,del=0,x;while(scanf("%s",s)){if(s[0]=='E')break;if(s[0]=='C'){scanf("%s%d",s,&x);while(front<rear){if(que[rear-1].val<=x)rear--;elsebreak;}que[rear].pos=++cnt,que[rear].val=x;rear++;}else if(s[0]=='G')del++;else{while(front<rear){if(que[front].pos<=del)front++;elsebreak;}if(del==cnt)printf("-1\n");elseprintf("%d\n",que[front].val);}}}
}
转载于:https://www.cnblogs.com/katarinayuan/p/6572826.html
FZU 1894 志愿者选拔 - 单调队列相关推荐
- FZU 1894 志愿者选拔
Problem 1894 志愿者选拔 Accept: 2308 Submit: 7003 Time Limit: 1500 mSec Memory Limit : 32768 KB Problem D ...
- 暑期训练狂刷系列——Foj 1894 志愿者选拔 (单调队列)
题目连接: http://acm.fzu.edu.cn/problem.php?pid=1894 解题思路: 因为出队和入队都满足队列的性质,优先单调队列的优先级有进入队列的顺序和人品的高低,在一段区 ...
- fzu 1894 单调队列
http://acm.fzu.edu.cn/problem.php?pid=1894 Problem 1894 志愿者选拔 Accept: 1328 Submit: 4200 Time Lim ...
- 单调队列多重背包时间复杂度O(vn)
版权声明:本文为博主原创文章,未经博主允许不得转载. 多重背包问题: 有N种物品和容量为V的背包,若第i种物品,容量为v[i],价值为w[i],共有n[i]件.怎样装才能使背包内的物品总价值最大? 网 ...
- 洛谷 P2219修筑绿化带 二维单调队列~
题目链接:https://www.luogu.org/problem/P2219 emmm调了一个上午+中午,fan 题意:从N*M的中找到一个a*b的大矩形和减去a*b中的一个与之不重边界的c*d的 ...
- P2216 理想的正方形 单调队列 (二维)
题目链接:https://www.luogu.org/problem/P2216 题意:求给定n*m的矩形中所有k*k的正方形块中最大值最小值之差(极差)最小 哇,大神的思路真的很帅 单调队列对每一行 ...
- 点分治问题 ----------- luoguP2942 [WC2010]重建计划 [点分治 + bfs + 单调队列 + 预处理建树 + 二分 + 01分数规划]
题目链接 解题思路: 1.对于这个Avgvalue=∑e∈sv(e)∣s∣Avgvalue = \frac{\sum_{e\in s}v(e)}{|s|}Avgvalue=∣s∣∑e∈sv(e) ...
- 解题报告:Fake Maxpooling(单调队列求矩阵的和)
我们不妨先把这个问题中二维的矩阵简化成一维的数列.那么现在的问题就变成了一个求连续的滑动窗口最值问题:给出一个长度为n的数列和一个长度为k(k<n)的窗口,记录滑动窗口位于每个位置下的下的最大值 ...
- 0x12.基本数据结构 — 队列与单调队列
目录 一.队列 0.UVA540 团体队列 Team Queue 1.AcWing 133. 蚯蚓(模拟优先队列) 二 .单调队列 0.AcWing 135. 最大子序和(单调队列) 1.luogu ...
最新文章
- IOS设计模式学习(1)设计模式初窥
- V8 Design Elements(翻译)
- mooc-IDEA 调试代码--012
- Git停止跟踪rm -r --cached与ignore区别
- Win10自动更新关闭方法
- .NET Core 3.0】框架之十三 || 部署攻略
- hadoop MultipleInputs fails with ClassCastException (get fileName)
- WebStorm按Tab建快速生成代码模块
- TensorFlow 教程 --教程--2.8循环神经网络
- Net::OpenSSH 模块使用实例
- android虚拟机模糊,Android studio虚拟机在启动界面和桌面出现画面模糊花屏问题的解决方法...
- Memcache:set()
- 分库分表中间件sharding-jdbc的使用
- python建站部署_2个Python学习网站制作教程
- URAL 1741 Communication Fiend
- python量化策略——改进的美林时钟轮动策略(二)
- 焱融科技加入多家行业协会与产业联盟,加速产业互联生态跃迁
- Go语言操作excel
- Cannot obtain block length for LocatedBlock
- Autoware:ndt_mapping节点
热门文章
- RHEL5 下构建PPTP ***服务器
- Ubuntu Linux下通过TPM1.2芯片保护SSH私钥的安全
- 简书UI易用性缺陷:投稿按钮太小
- 格式化信息窗口内容—ArcGIS API for JavaScript
- 巅峰对决 Spring Boot VS .NET 6
- 高级着色语言HLSL入门(6)
- 1.Echarts的坑:切换tab时,echart显示默认的100px
- c语言中L''作用,L/C问题: 请问L/C上的49:Confirmation Instruction 有什么作用啊[1]
- python成员变量,成员函数的总结
- JSP中application的用法