沒想到線段樹的基本使用方法這麼長時間沒寫了還沒有忘,1a的感覺還是非常爽的。
題目大意:
中文題,點此檢視題目。
解題思路:
線段樹的區間更新與查詢。
lazy標記的使用。
當須要返回區間多個值時能夠使用引用引數。
以下是**:
#include #include #include #include #include #include using namespace std;
int min(int a,int b)
int max(int a,int b)
void pushdown(int l,int r,int tr)
}void update(int l,int r,int num,int l,int r,int tr)
if(l==r)return;
pushdown(l,r,tr);
int m=(l+r)>>1;
if(m>=l)update(l,r,num,l,m,tr<<1);
if(m>1,a[2]=,b[2]=,c[2]=,d[2]=,e[2]=;
pushdown(l,r,tr);
if(m>=l)
if(m
ACdream 1099 瑤瑤的第K大
題意 求陣列第k大的元素,直接排序會超時的,get到 nth element 這個函式 nth element 用法 nth element start,start n,end 使第n大元素處於第n位置 從0開始,其位置是下標為n的元素 並且比這個元素小的元素都排在這個元素之前,比這個元素大的元素都...
AC dream 1099 瑤瑤的第K大
題意就是從乙個無序的陣列中找出第k大的數,由於資料很多,容易tle,而且陣列中的元素很大,用hash會mle 解法一 利用stl庫函式 nth element start,start n,end 標頭檔案是 使第n大元素處於第n位置 從0開始,其位置是下標為n的元素 並且比這個元素小的元素都排在這個...
芮瑤學程式設計 繪製紅綠燈
繪製燈箱 turtle.pensize 5 turtle.forward 100 turtle.left 90 turtle.forward 200 turtle.left 90 turtle.forward 100 turtle.left 90 turtle.forward 200 turtle....