
SSLOJ 2882 排队
发布日期:2021-05-07 09:41:03
浏览次数:26
分类:原创文章
本文共 518 字,大约阅读时间需要 1 分钟。
Description
n个人排成一条直线(一排),给出队伍中每个人的身高,每个人只能看到站在他右边且个头比他小没有被其他人挡住(跟他身高相同也会挡出他)的人。请求出所有人可以看到的人数之和。
1<=N<=80,000
Sample Input
6
5
10
3
7
4
12
2
Sample Output
4
思路
一个单调栈就完了,单调栈里存右边比枚举到的人高或相等的下标。
code:
#include<iostream>#include<algorithm>#define ll long longusing namespace std;ll a[82001],n,ans,b[82001],r;int main(){ cin>>n; for (ll i=1;i<=n;i++) { cin>>a[i]; } a[n+1]=0x3f3f3f3f; r=1; b[r]=n+1; for (ll i=n;i>0;i--) { while (r&&a[b[r]]<a[i]) r--; ans+=b[r]-i-1;//中间这一段都比i矮 b[++r]=i; } cout<<ans; return 0;}
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月20日 05时15分55秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
.net 平台下, Socket通讯协议中间件设计思路
2019-03-06
自己动手,写一个分布式系统(附c#代码示例)
2019-03-06
对Spring aop的理解
2019-03-06
highcharts 从后台动态改变数据
2019-03-06
Spring定时任务有时候会莫名奇妙的终止?
2019-03-06
设计模式第五篇-单例模式
2019-03-06
Java核心技术梳理-类加载机制与反射
2019-03-06
Vue跳转相同路由报错
2019-03-06
微信jssdk的getLocalImgData拿到的base64不完整
2019-03-06
【Autofac打标签模式】PropertySource和Value
2019-03-06
Docker镜像构建原理解析(不装docker也能构建镜像)
2019-03-06
有道云笔记 同步到我的博客园
2019-03-06
AntData.ORM框架 之 DotnetCore
2019-03-06
javascript + sql编写SQL客户端工具tabris
2019-03-06