RMQ模板
感覺還是線段樹比較清楚一點,
當然RMQ也挺方便的。對於查詢次數特別多的處理比較優秀。
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
#define LL long long
const int N = 1e6;
int a[N];//陣列1開始
int n;
int mx[N][30];
void RMQpre()
{
int temp=(int)log2((double)n);
for(int i=1;i<=n;i++)
{
mx[i][0]=a[i];
}
for(int j=1;j<=temp;j++)
{
for(int i=1;i+(1<<j)-1<=n;i++)
{
mx[i][j]=max(mx[i][j-1],mx[i+(1<<j-1)][j-1]);
}
}
}
int query(int l,int r)
{
int k=(int)log2((double)r-l+1);
return max(mx[l][k],mx[r+1-(1<<k)][k]);
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
RMQpre();
int l,r;
while(cin>>l>>r)
printf("%d\n",query(l,r));
}
相關文章
- RMQMQ
- 淺談RMQMQ
- RMQ求lcaMQ
- HDU Find the hotel(RMQ)MQ
- RMQ演算法MQ演算法
- 線段樹--RMQMQ
- 3339: Rmq ProblemMQ
- $RMQ$問題($ST$表)MQ
- HDU 3183 A Magic Lamp (RMQ)LAMPMQ
- RMQ的SSL配置最佳實踐MQ
- RMQ_第一彈_Sparse TableMQ
- RMQ問題的各種解法MQ
- HDU 2888 Check Corners(二維RMQ)MQ
- 【RMQ】poj 3264 Balanced LineupMQ
- hdu 1754 【線段樹/RMQ】I Hate ItMQ
- 學習筆記----RMQ演算法筆記MQ演算法
- HDU 3486 Interviewe(RMQ+二分)ViewMQ
- POJ3264 Balanced Lineup【RMQ】MQ
- hdu 4123 樹形DP+RMQMQ
- 資料結構——RMQ(ST表)問題資料結構MQ
- POJ 3264 Balanced Lineup【RMQ問題】MQ
- UVA 11235-Frequent values(RMQ)MQ
- POJ 3264 Balanced Lineup(簡單的RMQ)MQ
- UVA 11235 經典RMQ問題MQ
- O(n)-O(1) 線性 RMQ 學習筆記MQ筆記
- poj--2019Cornfields+二維RMQ問題MQ
- POJ 3368 Frequent values (UVA 11235)(RMQ)MQ
- Codeforces Round #361 (Div. 2) D RMQ+二分MQ
- Django 模板引擎以及模板Django
- RMQ——支援合併和優先順序的訊息佇列MQ佇列
- POJ 3264-Balanced Lineup(RMQ-ST演算法)MQ演算法
- 模板
- 模板引數,模板分離編譯編譯
- WordPress模板層次15:歸檔模板
- WordPress模板層次01:模板檔案
- 模板引擎使用詳解:包含公共模板
- 模板模式模式
- Django模板Django