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

泰安网站建设工作室/厦门人才网唯一官方网站

泰安网站建设工作室,厦门人才网唯一官方网站,亲子网站源码,做能支付的网站贵吗题目描述 农夫约翰有 N 头奶牛正在过乱头发节。 每一头牛都站在同一排面朝右,它们被从左到右依次编号为 1,2,⋯,N。编号为 i 的牛身高为 hi​。第 N 头牛在最前面,而第 1 头牛在最后面。 对于第 i 头牛前面的第 j 头牛,如果 hi​>hi1​…

题目描述

农夫约翰有 N 头奶牛正在过乱头发节。

每一头牛都站在同一排面朝右,它们被从左到右依次编号为 1,2,⋯,N。编号为 i 的牛身高为 hi​。第 N 头牛在最前面,而第 1 头牛在最后面。

对于第 i 头牛前面的第 j 头牛,如果 hi​>hi+1​,hi​>hi+2​,⋯,hi​>hj​,那么认为第 i 头牛可以看到第 i+1 到第 j 头牛。

定义 Ci​ 为第 i 头牛所能看到的牛的数量。请帮助农夫约翰求出 C1​+C2​+⋯+CN​。

输入格式

输入共 N+1 行。

第一行为一个整数 N,代表牛的个数。
接下来 N 行,每行一个整数 ai​,分别代表第 1,2,⋯,N 头牛的身高。

输出格式

输出共一行一个整数,代表 C1​+C2​+⋯+CN​。

//想要找出一头牛可以看见那几头牛比较困难, 我们可以用单调栈来控制当前这头牛可以被几头牛看见  栈中的元素就是可以看见当前牛的个数  只需维护一个单调栈就可以找出所有可以看见当前牛的数量 如果当前牛小于栈顶元素就让他加入栈  否则就计算出当前牛可以被几头牛看见

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int n,t;
LL ans;
stack <int> a;
int main() {
    cin>>n;
    for (int i=1; i<=n; i++) {
        cin>>t;
        while (!a.empty() && a.top() <= t) a.pop(); //如果当前牛的身高高于栈顶元素 就让栈中的牛出栈
        ans+=a.size();//计算当前牛可以被几头牛看见
        a.push(t);//入栈
    }
    cout<<ans;
    return 0;
}

http://www.whsansanxincailiao.cn/news/32003526.html

相关文章:

  • 武汉做网站好的公司/太原百度关键词排名
  • wordpress widgets_init/宁波seo优化外包公司
  • 为什么做的网站搜不出来的/成都seo专家
  • 广西做网站的公司有哪些/cilimao磁力猫最新版地址
  • 做淘宝内部优惠券网站要钱么/谷歌seo运营
  • 外贸公司的网站怎么做/企业网站推广的方法
  • 网站域名后缀有什么用/互联网营销师是做什么的
  • 佛山市手机网站建设/班级优化大师app
  • 广昌网站建设/最近一周新闻大事摘抄
  • 织梦网站404怎么做/做运营的具体做什么
  • 站酷网站的图是用什么做的/万网注册域名
  • 新闻类网站怎么做seo/东莞百度推广优化排名
  • 可信网站身份验证 必须做吗/深圳市社会组织总会
  • 做网站到底能不能赚钱/营销的三个基本概念是什么
  • 深圳做网站排名哪家好/常见的网络营销工具
  • 做网站分辨率多少钱/网店代运营收费
  • 浙江建设集团/梁水才seo优化专家
  • 个人网站建站目的/优化网站的目的
  • 网站开发有前途吗/微信小程序怎么做
  • 爱做奈官方网站/软文推广网站
  • wordpress网站logo没显示/百度一下全知道
  • 怎么通过微博做网站外链/新浪微博指数查询
  • 门户网站区别/百度手机助手免费下载
  • 郑州网站建设品牌好/我们公司想做网络推广
  • 怎样接做网站的活/seo什么职位
  • 免费代码大全网站/武汉网络营销公司排名
  • 网站的推广方式组合/产品的推广及宣传思路
  • 软件开发网站开发/营销方式有哪些
  • 广州网站建设是什么意思/百度主页
  • 韶关做网站的公司/买链接网站