hiho刷題日記 第十九天RMQ問題再臨 線段樹

2021-07-07 09:51:45 字數 744 閱讀 2574

rmq問題就是在乙個範圍內求最值的問題。

這個題目還增加了中途可以改變某個值的大小。

這裡是利用線段樹求最小值。

線段樹其實有二分的思想在裡面。比如我知道第1-8個分別的數值。然後我就可以求出1-2,3-4,5-6,7-8的最值,然後求出1-4,5-8的最值,最後求出1-8的最值。以1-8為樹根可以建立一棵二叉樹。然後在知道範圍的時候,可以把要求的範圍分解成已經求出的範圍最值來更快的得到答案。

void setw(int n,int weight) 

}

在這裡我只考慮到了改變的值變小了。沒有考慮到改變的值變大的情況。

#include

#define min(a,b) (ausing

namespace

std;

const

int maxw=2097152+5;

int w[maxw],n;

void setw(int n,int weight)

}void quew(int l,int r)

if(l&1)

if(!(r&1))

l>>=1;r>>=1;

}printf("%d\n",ans);

}int main()

}scanf("%d",&n);

int o,a,b;

while(n--)

return

0;}

冥想第十九天

不能怪自己多心,畢竟出現不舒服的感覺是因為大腦太關切自己的身體了。一點也不想讓它受刺激。今天出來玩了,早上做了體檢。又帶著小妞妞出來打了預防針,後又跟著朋友出來滎陽南嶺玩了,到時有點困,告訴自己要接受,好好接受當下 但不反抗,知道是正常的。坐上車後睡了一會,所有的精力都回來了。當和朋友一起回來的時候...

ACM 第十九天

積性函式o n 線性篩,篩素數,u n 尤拉函式 n n 1 vis 0 vis 1 1,mu 1 1,phi 1 1 2 for rg int i 2 i n i 7else mu k mu i phi k phi i phi prime j 8 9 可以發現,線性篩分為3部分 1.n本身是素數,...

PYTHON小白 第十九天

python小白 第十九天 1 異常概述 異常機制己經成為衡量一門程式語言是否成熟的標準之一,使用異常處理機制的python程式有更好的容錯性,更加健壯。2 異常處理機制 python的異常處理機制可以讓程式具有極好的容錯性,讓程式更加健壯。當程式執行出現意外情況時,系統會自動生成error物件來通...