備戰NOIP2016 線段樹

2021-07-23 12:11:07 字數 953 閱讀 3978

1. 線段樹是擅長處理區間的完美二叉樹。

2.線段樹的每個節點都代表一段區間,如果有n個數需要修改,可以在o(logn)的時間裡修改操作。操作1:求a[s~e]中的最小值 。

操作2:修改ai 的值。

洛谷裸題:p2251

###①線段樹rmq

以下為**:

//開始時將所有值設為1<<32

const int max_n = 1<<17,inf=1<<31-1;

int n, data[max_n*2 - 1];

//初始化 n_為元素個數(1...n)

void init(int n_)

}//求[s,e)的最大/小值

//k,l,r是為了計算方便

//外部呼叫:query(s,e,0,0,n);

int query(int s,int e,int k,int l,int r)

const int maxint =0x7f;

int x,y,n,m,w,v,d;

int a[100005];

int f[100005][20];

int query_rmq(int i,int j)

for(int j=1;j<=20;++j)

for(int i=1;i<=n;++i)

if(i+(1<>1;

build(l,mid,k<<1);

build(mid+1,r,k<<1|1);

pushup(k); }}

ll query(int k,int l,int r,int l0,int r0)

ll edit(int k,int l,int r,int l0,int r0,ll v)

else

}int main() else cout<} return 0;

}

NOIP2016 天天愛跑步(線段樹 桶)

小c同學認為跑步非常有趣,於是決定製作一款叫做 天天愛跑步 的遊戲。天天愛跑步是乙個養成類遊戲,需要 玩家每天按時上線,完成打卡任務。這個遊戲的地圖可以看作一一棵包含 n個結點和n 1 條邊的樹,每條邊連線兩個結點,且任意兩個結點存在一條路徑互相可達。樹上結點編號為從1到n的連續正整數。現在有個玩家...

NOIP2016初賽總結

第一篇部落格。明明老早就註冊了,但一直都懶得寫 話說這裡提供的的為什麼是qq表情,還想加個滑稽來著 咳咳,這都高二了。再不留點東西感覺說不過去。感覺現在寫這個有點早,畢竟還不知道成績。沒有核對多少答案。薛丁格的分數 理論告訴我們在真正發布成績之前,我的分數既是零分也是滿分。所以我現在不敢立flag。...

NOIP2016考前總結

一 考前準備 帶身份證 或學生證 筆 手錶 調準考試機的系統時間 二 考試時注意事項 1 解壓考試檔案。2 建好考試資料夾,生成考試題目檔案,默寫標頭檔案,除錯一下程式,寫輸入輸出檔案,1 默寫標頭檔案 加上 的為不常用的 include include include include includ...