題意如下:
給你從1到n 每個學生的成績。 有m個操作,操作分為兩種,一種是查詢q x y(查詢從x學生到y學生的最高分數) 另一種就是u x y(將學生x的成績改為y);
一道明顯的線段樹題目 ,過程也是比較明確,建樹、查詢最大值、更新樹.
附上**:
#include #include #include #define max(x,y) (x>y?x:y)
//定義節點結構體
typedef struct
node;
int sc[200010];
node tree[4000200];
int build(int root,int left,int right)
mid=(left+right)/2;
int a,b;
a=build(2*root,left,mid);
b=build(2*root+1,mid+1,right);
return tree[root].max=max(a,b);
}//更新樹的pos節點 將其的分數改為score 並且更新所有的max
int update(int root,int pos,int score)
int main()
if(ch=='q')
}} return 0;
}
hdu 1754 基礎線段樹
題目鏈結 思路 比較簡單的線段樹,區間求最值,單點更新。讀入字元的時候,最好用字元陣列儲存,使用 s讀入,如果使用 c 會t 好像是會吃掉換行符。include include include define maxn 2000005 using namespace std int stu maxn ...
線段樹入門 hdu1754
題目 很多學校流行一種比較的習慣。老師們很喜歡詢問,從某某到某某當中,分數最高的是多少。這讓很多學生很反感。不管你喜不喜歡,現在需要你做的是,就是按照老師的要求,寫乙個程式,模擬老師的詢問。當然,老師有時候需要更新某位同學的成績。input本題目包含多組測試,請處理到檔案結束。在每個測試的第一行,有...
寒假 HDU 1754(線段樹)
很多學校流行一種比較的習慣。老師們很喜歡詢問,從某某到某某當中,分數最高的是多少。這讓很多學生很反感。不管你喜不喜歡,現在需要你做的是,就是按照老師的要求,寫乙個程式,模擬老師的詢問。當然,老師有時候需要更新某位同學的成績。input 本題目包含多組測試,請處理到檔案結束。在每個測試的第一行,有兩個...