poj3250 Bad Hair Day
来源:互联网 发布:我的世界0.15js家具 编辑:程序博客网 时间:2024/05/21 17:10
题意:一排数字代表一排牛的高度,每头牛只能向右看到比自己矮的牛的头,也看不到比自己高或相等的牛右边的牛头。问一共有多少牛可以被看到。
思路;从右边牛开始,构建一个单调递增栈,遇到比栈顶高的牛,不断出栈,找到它能向右边看到的位置,计数中间能看到牛的个数,再进栈,作为栈顶。
#include<cstdio>#include<cstring>#include<stack>#include<algorithm>using namespace std;long long h[80010];stack<int>s;int main(){ int n; while(~scanf("%d",&n)) { for(int i=1;i<=n;i++) scanf("%lld",&h[i]); h[n+1]=1<<30; while(!s.empty()) s.pop(); s.push(n+1); long long sum=0; for(int i=n;i>0;i--) { int x=s.top(); while(h[x]<h[i]) { s.pop(); x=s.top(); } sum+=x-i-1; s.push(i); } printf("%lld\n",sum); } return 0;}
1 0
- poj3250 Bad Hair Day
- poj3250 Bad Hair Day
- poj3250 Bad Hair Day
- poj3250 Bad Hair Day
- 【POJ3250】Bad Hair Day
- DP/單調隊列::poj3250 Bad Hair Day
- poj3250 Bad Hair Day(单调栈)
- poj3250-Bad Hair Day(单调栈)
- poj3250 Bad Hair Day 单调栈
- POJ3250 Bad Hair Day 单调栈
- POJ3250---Bad Hair Day(单调栈)
- POJ3250 Bad Hair Day 单调栈
- POJ3250--Bad Hair Day(栈)
- POJ3250 Bad Hair Day(单调栈)
- POJ3250 Bad Hair Day(单调栈)
- poj3250 Bad Hair Day (单调栈)
- 单调栈--poj3250 Bad Hair Day
- Poj3250 Bad Hair Day (单调栈)
- LeetCode 算法实现:TwoSum
- Windows Socket API函数
- hdu5122K.Bro Sorting 树状数组
- Binding to DevExpress StockSeries2D Chart
- 搜索引擎关键字智能提示的一种实现
- poj3250 Bad Hair Day
- java中文乱码
- 关于GCD 队列,同步异步的理解
- UILabel 的应用
- 黑马程序员-------OC----点语法
- 关于iOS多线程,你看我就够了
- Redis主从实现原理分析
- Maven project: Missing artifact jdk.tools:jdk.tools
- struct tm 的应用