【bzoj1660】【单调栈】Bad Hair Day 乱发节
来源:互联网 发布:c语言for是什么意思 编辑:程序博客网 时间:2024/06/17 14:00
Description
Input
* Line 1: 牛的数量 N。
* Lines 2..N+1: 第 i+1 是一个整数,表示第i头牛的高度。
Output
* Line 1: 一个整数表示c[1] 至 c[N]的和。
Sample Input
6
10
3
7
4
12
2
输入解释:
六头牛排成一排,高度依次是 10, 3, 7, 4, 12, 2。
10
3
7
4
12
2
输入解释:
六头牛排成一排,高度依次是 10, 3, 7, 4, 12, 2。
Sample Output
5
3+0+1+0+1=5
3+0+1+0+1=5
题解:维护一个单调递减栈,对于每一个元素,它对它之后的元素的贡献就是维护完栈之后栈里的元素个数。
#include<iostream>#include<cstdio>using namespace std;int n,top,a[80001],s[80001];long long ans;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++) { if(a[i]<s[top]) ans+=top; else { while(a[i]>=s[top]&&top) top--; ans+=top; } s[++top]=a[i]; } printf("%lld",ans); return 0;}
0 0
- 【bzoj1660】【单调栈】Bad Hair Day 乱发节
- [BZOJ1660][Usaco2006 Nov]Bad Hair Day 乱发节(单调栈)
- bzoj1660[Usaco2006 Nov]Bad Hair Day 乱发节
- [BZOJ1660] [Usaco2006 Nov]Bad Hair Day 乱发节
- 【BZOJ1660】【Usaco2006 Nov】Bad Hair Day 乱发节
- 单调栈——BZOJ1660/Luogu2866 [USACO06NOV]Bad Hair Day
- bzoj 1660: [Usaco2006 Nov]Bad Hair Day 乱发节(单调栈)
- [BZOJ 1660][Usaco2006 Nov]Bad Hair Day 乱发节:单调栈
- |BZOJ 1660|单调栈|[Usaco2006 Nov]Bad Hair Day 乱发节
- bzoj 1660: [Usaco2006 Nov]Bad Hair Day 乱发节(单调栈)
- [Usaco2006 Nov]Bad Hair Day 乱发节
- (单调栈)Bad Hair Day
- BZOJ 1660: [Usaco2006 Nov]Bad Hair Day 乱发节
- 【BZOJ 1660】 [Usaco2006 Nov]Bad Hair Day 乱发节
- 1660: [Usaco2006 Nov]Bad Hair Day 乱发节(悬线法)
- poj 3250:Bad Hair Day---单调栈
- poj3250 Bad Hair Day(单调栈)
- POJ 3250 Bad Hair Day(单调栈)
- 图像的平移和镜像
- 数据结构系列之链表
- 数据流基本问题--确定频繁元素(一)
- g++参数介绍
- objective-C 中简单数据操作
- 【bzoj1660】【单调栈】Bad Hair Day 乱发节
- The hierarchy of the type GreetingBeforeAdvice is inconsistent
- Android jni 应用初探 (MAC 环境)
- 自动化及工具介绍
- EditText属性
- Huffman编码学习
- SDUT-2862 勾股定理
- linux vim 置配
- struts2学习笔记之十三(表单标签和非表单标签)