bzoj 1660: [Usaco2006 Nov]Bad Hair Day 乱发节(单调栈)
2016-05-03 08:20
666 查看
1660: [Usaco2006 Nov]Bad Hair Day 乱发节
Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 881 Solved: 421
[Submit][Status][Discuss]
Description
Input
* Line 1: 牛的数量 N。* Lines 2..N+1: 第 i+1 是一个整数,表示第i头牛的高度。
Output
* Line 1: 一个整数表示c[1] 至 c的和。
Sample Input
610
3
7
4
12
2
输入解释:
六头牛排成一排,高度依次是 10, 3, 7, 4, 12, 2。
Sample Output
53+0+1+0+1=5
HINT
Source
Silver[Submit][Status][Discuss]
题解:单调栈
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define N 100000 using namespace std; int n,st ,a ,k ; long long ans; int main() { scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&a[n-i+1]); int cnt=0; for (int i=1;i<=n;i++) { int t=0; while (a[i]>a[st[cnt]]&&cnt) k[i]+=k[st[cnt]]+1,cnt--; st[++cnt]=i; } for (int i=1;i<=n;i++) ans+=(long long)k[i]; printf("%lld\n",ans); }
相关文章推荐
- Mailto使用方法
- [BZOJ1660][Usaco2006 Nov]Bad Hair Day 乱发节(单调栈)
- LeetCode 011 Container With Most Water *
- main函数参数的使用和指针数组的理解结合实例
- 直接插入排序(Straight Insertion Sort)
- 直接选择排序(Straight Selection Sort)
- 百度地图 baiduMap(一) 基本显示
- Poj 3250 Bad Hair Day 【单调栈】
- google base库中的WaitableEvent
- 只有return的main函数,readelf结果
- 第2步:捉迷藏,kafka的main入口在哪里?
- HDU_5046_Airport(DancingLinksX重复覆盖+二分)
- Kafka设计解析(三)- Kafka High Availability (下)
- BNU 51638 Air Hockey 三分二分法
- OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow
- 217.[Leetcode]Contains Duplicate
- Kafka设计解析(二)- Kafka High Availability (上)
- POJ11422 Air Raid
- “hackers and painters”读书笔记
- EasyChair提交会议论文的方法简介