hdu 1754 基礎線段樹

2021-08-05 22:52:00 字數 831 閱讀 3705

題目鏈結

思路 : 比較簡單的線段樹,區間求最值,單點更新。

讀入字元的時候,最好用字元陣列儲存,使用 %s讀入,如果使用 %c 會t ..好像是會吃掉換行符。。

#include

#include

#include

#define maxn 2000005

using namespace std;

int stu[maxn],n,m,a,b;

void create(int l,int r,int

sum)

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

create(l,m,sum

<<1);

create(m+1,r,sum

<<1|1);

stu[sum]=max(stu[sum

<<1],stu[sum

<<1|1]);

}int quary(int l,int r,int l,int r,int

sum)

void update(int l,int r,int

sum,int id,int score)

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

if(id<=m) update(l,m,sum

<<1,id,score);

else update(m+1,r,sum

<<1|1,id,score);

stu[sum]=max(stu[sum

<<1],stu[sum

<<1|1]);

}int main()

}}

線段樹入門 hdu1754

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

寒假 HDU 1754(線段樹)

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

HDU 1754 簡單線段樹

題意如下 給你從1到n 每個學生的成績。有m個操作,操作分為兩種,一種是查詢q x y 查詢從x學生到y學生的最高分數 另一種就是u x y 將學生x的成績改為y 一道明顯的線段樹題目 過程也是比較明確,建樹 查詢最大值 更新樹.附上 include include include define m...