線段樹 最高分是多少

2021-09-25 18:49:15 字數 1043 閱讀 6007

老師想知道從某某同學到某某同學當中,分數最高的是多少。

現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績。

輸入包含多組測試資料。

每組輸入第一行是兩個正整數n和m(0對於每一次詢問操作,在一行裡面輸出最高成績。

5 6

1 2 3 4 5

q 1 5

u 3 6

q 3 4

q 4 5

u 2 9

q 1 5

565

9

思路:如果只需要求得區間最大值,則用rmq中的st演算法即可,之前的部落格也有寫過。然而再查詢的同時還要修改值的話,rmq就吃不消了。所以還是要用線段樹。

**(前面寫過兩篇類似的線段樹了,所以這個**基本無注釋):

#includeusing namespace std;

const int maxn=3e4+10;

int maxx[maxn*4],s[maxn];

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

int mid = (l+r)/2;

build(l,mid,root*2);

build(mid+1,r,root*2+1);

maxx[root]=max(maxx[root*2],maxx[root*2+1]);

return;

}void update(int x,int y,int l,int r,int root)

int mid = (l+r)/2;

if(mid>=x) update(x,y,l,mid,root*2);

else update(x,y,mid+1,r,root*2+1);

maxx[root]=max(maxx[root*2],maxx[root*2+1]);

return ;

}int query(int x,int y,int l,int r,int root)

int main()

}return 0;

}

最高分是多少?

時間限制 1秒 空間限制 65536k 老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績。輸入描述 1 輸入包括多組測試資料。2.每組輸入第一行是兩個正整數n和m 0 n 30000,0 m 5000 分別代表學生的數目和操作的數目。...

最高分是多少(2016)

題目描述 老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績.輸入描述 輸入包括多組測試資料。每組輸入第一行是兩個正整數n和m 0 n 30000,0 m 5000 分別代表學生的數目和操作的數目。學生id編號從1編到n。第二行包含n個...

最高分是多少? 華為

程式設計題 最高分是多少 時間限制 1秒 空間限制 65536k 老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績.輸入描述 輸入包括多組測試資料。每組輸入第一行是兩個正整數n和m 0 n 30000,0 m 5000 分別代表學生的...