poj3250---Bad Hair Day(单调栈)
来源:互联网 发布:今日原油eia数据最新 编辑:程序博客网 时间:2024/05/18 00:33
题目来源: http://poj.org/problem?id=3250
题意
有n头牛,身高不一致,从左往右排列开,每头牛都可以看到其他高度比他低的牛,当然:3,5,4这样不行,统计一下每头牛可以看到的其他牛的总和。
思路
利用单调栈去维护一个从左往右单调递减的区间,以O(n)的复杂度来解决这到题。
模拟一下样例:
10 3 7 4 12 2 。
输入10,3,也就是一号牛可以看到2号牛,然后输入7,因为7和3比较,要使得成为一个单调递减的序列,就把3去了,序列变成了10,7,此时的一号牛同样可以看到2号牛,然后在输入4,序列成了10,7,4,一号牛和二号牛都可以看到三号牛,以此类推。
代码
#include<stdio.h>int a[80000+10];int main(){ long long sum=0; int n,l=-1; scanf("%d",&n); for(int i=1; i<=n; i++) { int x; scanf("%d",&x); while(l>=0&&x>=a[l]) l--; a[++l]=x; sum+=l; } printf("%lld\n",sum);}
阅读全文
0 0
- 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
- POJ3250--Bad Hair Day(栈)
- poj3250 Bad Hair Day
- poj3250 Bad Hair Day
- poj3250 Bad Hair Day
- poj3250 Bad Hair Day
- 彩色图,灰度图,色值,灰阶,16位图,8位图等概念的总结
- react native 错误unable to load script form assets解决
- bzoj4999 This Problem Is Too Simple!(树链剖分+动态开点线段树)
- bootgrid插件+knockout.JS列表展示
- tomcat集群开发
- poj3250---Bad Hair Day(单调栈)
- Ubuntu 安装wine 和 腾讯TIM
- 1236:最小公倍数
- [编程题]最大的奇约数
- 拓扑排序模板
- 系统优化思路
- java高级特性增强
- linux下命令执行结果作为其他命令输入参数
- 2017.9.9 堵塞的交通 思考记录