HDU 3530 Subsequence (dp+單調佇列)
題目連結:
http://acm.hdu.edu.cn/showproblem.php?pid=3530
題意:
找一個最長的區間,區間最大值與最小值的差 大於等於小於等於k
分析:
維護最大值與最小值,然後最大的最大值與最小的最小值的差是不是大於y,大於y誰在前面刪除誰,記錄起點。
程式碼如下:
http://acm.hdu.edu.cn/showproblem.php?pid=3530
題意:
找一個最長的區間,區間最大值與最小值的差 大於等於小於等於k
分析:
維護最大值與最小值,然後最大的最大值與最小的最小值的差是不是大於y,大於y誰在前面刪除誰,記錄起點。
程式碼如下:
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <queue>
using namespace std;
const int maxn = 100010;
int a[maxn];
int main()
{
int n,m,k;
while(~scanf("%d%d%d",&n,&m,&k)){
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
deque<int > mmax;
deque<int > mmin;
int ans = 0;
int st = 0;
for(int i=1;i<=n;i++){
while(!mmax.empty()&&a[i]>a[mmax.back()]) mmax.pop_back();//維護單調性
while(!mmin.empty()&&a[i]<a[mmin.back()]) mmin.pop_back();//維護單調性
mmax.push_back(i);
mmin.push_back(i);
while(!mmax.empty()&&!mmin.empty()&&a[mmax.front()]-a[mmin.front()]>k){
if(mmax.front()<mmin.front()){
st = mmax.front();
mmax.pop_front();
}
else {
st=mmin.front();
mmin.pop_front();
}
}
if(!mmax.empty()&&!mmin.empty()&&a[mmax.front()]-a[mmin.front()]>=m)
ans = max(ans,i-st);
}
cout<<ans<<endl;
}
return 0;
}
相關文章
- 單調佇列佇列
- 單調棧/單調佇列佇列
- 單調佇列雙端佇列佇列
- 單調棧 和 單調佇列佇列
- 單調棧和單調佇列佇列
- 單調佇列最佳化 DP佇列
- 佇列-單端佇列佇列
- noi.ac #289. 電梯(單調佇列)佇列
- HDU 5816 Hearthstone(狀態壓縮DP+概率)
- 多重揹包問題的單調佇列優化佇列優化
- BZOJ1044: [HAOI2008]木棍分割(dp 單調佇列)佇列
- [學習筆記] 單調佇列最佳化DP - DP筆記佇列
- 【dp+組合數學】hdu 2018 多校第九場 1001 Rikka with Nash Equilibrium hdu 6415UI
- RabbitMQ-簡單佇列MQ佇列
- 單向鏈式佇列佇列
- 棧,佇列,優先順序佇列簡單介面使用佇列
- python中佇列簡單使用Python佇列
- 佇列_單向連結串列佇列
- laravel 佇列的簡單使用Laravel佇列
- 實現簡單延遲佇列和分散式延遲佇列佇列分散式
- 佇列、阻塞佇列佇列
- 聯賽模擬測試18 A. 施工 單調佇列(棧)優化DP佇列優化
- kuangbin 專題二十三:二分 尺取 單調棧佇列 String佇列
- 簡單dp -- Common Subsequence POJ - 1458
- 單調佇列優化dp(五)——#10179. 「一本通 5.5 例 5」Banknotes佇列優化
- 佇列 和 迴圈佇列佇列
- 【佇列】【懶排序】佇列Q佇列排序
- 1284 海港 普及組 NOIP2016 佇列基礎 簡單列舉 簡單模擬 優先佇列(priority_queue)佇列
- 自定義單連結串列佇列的基本介面函式(非迴圈佇列)佇列函式
- 陣列模擬佇列 以及佇列的複用(環形佇列)陣列佇列
- “簡單”的訊息佇列與kafka佇列Kafka
- redis訊息佇列簡單應用Redis佇列
- 簡單易用的任務佇列-beanstalkd佇列Bean
- 佇列 手算到機算 入門 佇列 迴圈佇列佇列
- 圖解--佇列、併發佇列圖解佇列
- bzoj 4899 記憶的輪廓 題解(概率dp+決策單調性優化)優化
- 洛谷題單指南-常見最佳化技巧-P1886 滑動視窗 /【模板】單調佇列佇列
- 佇列佇列
- HDU 1556【區間更新+單點查詢 樹狀陣列】陣列