題目:最大數
思路:線段樹。最開始就建乙個m個點的線段樹,這樣對數列增加的操作就變成線段樹的單點修改了。
注意:在l=0時,要輸出0,所以不可以把線段樹的值初始化成-inf。另外注意邊界,不然會mle。建議在bzoj過了的也在luogu交一下,這題bzoj的資料比較水一點。
**:
#includeusing namespace std;
#define maxn 200000
int n,md;
int t=0,p;
int a[maxn*4+5];
int m=0;
void update(int o,int l,int r)
int mid=l+(r-l)/2;
int lc=o*2,rc=o*2+1;
update(lc,l,mid),update(rc,mid+1,r);
a[o]=max(a[lc],a[rc]);
}int query(int o,int l,int r)
int main()
if(x=='q')
} return 0;
}
最大數 洛谷1198 JSOI2008
題意 現在請求你維護乙個數列,要求提供以下兩種操作 1 查詢操作。語法 q l 功能 查詢當前數列中末尾l個數中的最大的數,並輸出這個數的值。限制 l不超過當前數列的長度。l 0 2 插入操作。語法 a n 功能 將n加上t,其中t是最近一次查詢操作的答案 如果還未執行過查詢操作,則t 0 並將所得...
洛谷 P1198 JSOI2008 最大數
p1198 jsoi2008 最大數現在請求你維護乙個數列,要求提供以下兩種操作 1 查詢操作。語法 q l 功能 查詢當前數列中末尾l個數中的最大的數,並輸出這個數的值。限制 l不超過當前數列的長度。2 插入操作。語法 a n 功能 將n加上t,其中t是最近一次查詢操作的答案 如果還未執行過查詢操...
洛谷P1198 JSOI2008 最大數
現在請求你維護乙個數列,要求提供以下兩種操作 1 查詢操作。語法 q l 功能 查詢當前數列中末尾l個數中的最大的數,並輸出這個數的值。限制 l不超過當前數列的長度。2 插入操作。語法 a n 功能 將n加上t,其中t是最近一次查詢操作的答案 如果還未執行過查詢操作,則t 0 並將所得結果對乙個固定...