Buy Tickets hoj 单调队列优化DP的简单应用
2012-08-08 22:13
429 查看
/*题意是问能相互看见的人有多少对。 只需要建一个单调递减的队列。枚举每一个i时,对前i-1个元素形成的单调队列里找>=a[i]的元素的个数即可。简单、*/ #include <iostream> #include <stdio.h> #define maxn 500001 using namespace std; int q[maxn]; int a[maxn]; int main() { int n; while(scanf("%d",&n)==1) { int head=0,rear=0; int step=0; for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1; i<n; i++) { while(head<rear&&q[rear-1]<a[i]) rear--; q[rear++]=a[i]; int t=rear; while(head<t) { t--; if(head==t) step++; else if(a[i+1]>=q[t]) step++; } } printf("%d\n",step); } return 0; }
相关文章推荐
- 山东理工周赛 3 简单单调队列优化dp
- poj 2823 简单单调队列优化dp
- 【DP】【斜率优化】【单调队列优化】Gift 题解
- bzoj2442&&codevs4654 单调队列优化dp
- 【BZOJ3831】Little Bird,单调队列优化DP
- HDU4374:One hundred layer(dp+单调队列优化)
- hdu3401 Trade(单调队列优化dp)
- 单调队列--优化dp
- HDU-3401:Trade(dp+单调队列优化)
- 洛谷P1725琪露诺(单调队列优化dp)
- hdu3401 Trade 单调队列优化dp
- POJ2373...单调队列优化DP...
- ZOJ2067 经典 DP(单调队列优化)
- hdu4374 单调队列优化dp
- hdu2191(单调队列优化dp,多重背包)
- POJ 1821 Fence ★(单调队列优化DP)
- Codeforces 939F.Cutlet-单调队列优化dp
- codevs 3327 选择数字 单调队列优化DP
- 用单调队列优化DP,写给自己
- UESTC 594 我要长高 (单调队列优化DP)