jzoj1264,P2866-乱头发节,糟糕的一天Bad Hair Day【单调栈】
生活随笔
收集整理的這篇文章主要介紹了
jzoj1264,P2866-乱头发节,糟糕的一天Bad Hair Day【单调栈】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
正題
評測記錄:https://www.luogu.org/recordnew/lists?uid=52918&pid=P2866
大意
一個cici是在他距離他后面第一個比他的hh大中間的間隔。求cici的和
解題思路
我們可以發現這道題肯定得把cici放在一起統計,我們可以開一個單調棧,每次壓進去一個數,將小于它的都踢掉,棧中剩下數減一的就是一個cici
代碼
#include<cstdio> #include<stack> using namespace std; stack<long long> p; int n; long long h[80200],s; int main() {scanf("%d",&n);for (int i=1;i<=n;i++)scanf("%d",&h[i]);//輸入for (int i=1;i<=n;i++){while (!p.empty()&&h[p.top()]<=h[i]) p.pop();//維護單調隊列p.push(i);//壓入s+=p.size()-1;//計算答案}printf("%lld",s); }總結
以上是生活随笔為你收集整理的jzoj1264,P2866-乱头发节,糟糕的一天Bad Hair Day【单调栈】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米路由器插u盘怎么用小米路由器min用
- 下一篇: jzoj1265-Round Numbe