当前位置: 首页 > news >正文

【数据结构】【单调栈】视野总和

题目描述

有n个人站成一排,所有的人全部向右看,个子高的可以看到个子低的发型,给出每个人的身高,问所有人能看到其他人发型人数的总和是多少。

输入

第一行输入n的值 0<n<=106

第二行输入n个数,每个数都小于1000005正整数空格隔开

输出

所有人能看到其他人发型总和。

样例输入

8
1 10 5 6 9 4 3 10

样例输出

8
#include<bits/stdc++.h>
#define started() cin.tie(0),cout.tie(0)
using namespace std;
vector<long long> wt;
long long n,a,sum;
long long inc(vector<long long> vt){vt.push_back(INT_MAX);stack<int> st;for(int i=0;i<vt.size();i++){if(st.empty()||vt[st.top()]>vt[i]){st.push(i);}else{while(!st.empty()&&vt[st.top()]<=vt[i]){int tops=st.top();st.pop();sum+=(i-tops-1);}st.push(i);}}return sum;
}int main(){started();cin>>n;for(int i=1;i<=n;i++){cin>>a;wt.push_back(a);}cout<<inc(wt);
}


http://www.mrgr.cn/news/54717.html

相关文章:

  • 深度学习--CNN实现猫狗识别二分类(附带下载链接, 长期有效)
  • 【Linux】僵尸进程和孤儿进程
  • perl批量改文件后缀
  • fluent-ffmpeg操作MP3文件深入解析
  • 讲一讲Redis五大数据类型的底层实现
  • 基于Spring Boot+Vue的山姆”在线零食系统的设计与实现(支付宝沙盒支付、协同过滤算法、实时聊天、图形化分析)
  • 动态规划之打家劫舍
  • Python 类
  • 【计网】从零开始理解TCP协议 --- 拥塞控制机制,延迟应答机制,捎带应答,面向字节流
  • 【OD】【E卷】【真题】【100分】最大利润贪心的商人(PythonJavaJavaScriptC++C)
  • Docker无法拉取镜像解决办法
  • 程序员数学:用Python学透线性代数和微积分 中文目录
  • #P3014. 数字游戏
  • STM32F1+HAL库+FreeTOTS学习18——任务通知
  • Comfyui如何快速选出图像的高光和阴影 _ layerstyle节点
  • 动态规划58道算法题
  • 【Modern C++】特性学习与补漏
  • 作业2-线性回归的Matlab代码实现
  • SQL入门
  • RHCE——时间服务器
  • Java面试指南:Java基础介绍
  • Chromium127编译指南 Windows篇 - 编译前的准备(一)
  • 策略的结合——Actor-Critic算法求解冰湖游戏
  • code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED 证书过期
  • java事务讲解(详解篇)
  • C控制语句