hdu 1754 I Hate It (線段樹版)

2021-06-23 03:20:55 字數 861 閱讀 6876

讀入的時候因為要先輸入字元c,所以要用getchar()和輸入時的%*c處理掉空格,很煩,不按字元輸入而是%s輸入字串可避免這個問題

**:

#include #include using namespace std;

#define lson l,m,rt<<1

#define rson m+1,r,rt<<1|1

#define max 200010

int a[max<<2];

void pushup(int rt)

void build(int l,int r,int rt)

else a[rt]=0;

int m=(l+r)>>1;

build(lson);

build(rson);

pushup(rt);

}void update(int p,int n,int l,int r,int rt)

int m=(l+r)>>1;

if(p<=m)update(p,n,lson);

else update(p,n,rson);

pushup(rt);

}int query(int l,int r,int l,int r,int rt)

int m=(l+r)>>1;

int res=0;

if(l<=m)res=max(res,query(l,r,lson));

if(r>m)res=max(res,query(l,r,rson));

return res;

}int main()

else update(s,e,1,n,1);}}

return 0;

}

HDU 1754 I Hate It(單點更新)

很水的線段樹,單點更新 rmq更快 include includeint n int in 200010 struct treetree 540000 int max int a,int b void build int s,int t,int id int mid s t 1 build s,mi...

hdu 1754 I Hate It 樹狀陣列

小記 對於求區間的最值問題,如何利用樹狀陣列來解決它 idx i 表示1 i區間中最大的值,a是存放元素陣列 利用樹狀陣列來求解區間最值問題的原理就是樹狀陣列對二進位制的利用,對於樹狀陣列的第k個陣列元素值它的意義代表著區間 k lowbit k 1,k 的最大值,在它的下面有lowbit k 個類...

hdu1754 I Hate It 線段樹模板

很多學校流行一種比較的習慣。老師們很喜歡詢問,從某某到某某當中,分數最高的是多少。這讓很多學生很反感。不管你喜不喜歡,現在需要你做的是,就是按照老師的要求,寫乙個程式,模擬老師的詢問。當然,老師有時候需要更新某位同學的成績。本題目包含多組測試,請處理到檔案結束。在每個測試的第一行,有兩個正整數 n ...