線段樹練習題1
time limit:10000ms
memory limit:65536k
total submit:263
accepted:93
case time limit:1000ms
description
桌子上零散地放著若干個盒子,桌子的後方是一堵牆。如右圖所示。現在從桌子的前方射來一束平行光, 把盒子的影子投射到了牆上。問影子的總寬度是多少?
20 //桌面總寬度
4 //盒子數量
1 53 8
7 10
13 19
sample output
hint
資料範圍
1<=n<=100000,1<=m<=100000,保證座標範圍為[1,n].
#include
#include
#include
#include
#include
#include
#include
#define ll long long
using
namespace std;
const
int n=
1e5*4+
100,m=
1010
;int n,m,x,y,ans;
bool cover[n]
;void add (
int x,
int y,
int l,
int r,
int wz)
if(y<=mid) add (x,y,l,mid,wz*2)
;else
if(x>=mid)
else add (x,mid,l,mid,wz*2)
,add (mid,y,mid,r,wz*2+
1);}
void find (
int l,
int r,
int wz)
if(r-l<=1)
return
;int mid=
(r+l)/2
; find (l,mid,wz*2)
; find (mid,r,wz*2+
1);}
int main (
)
線段樹模板(模板)
參考部落格 持續更新。外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img xhrgdjcd 1613976863463 區間儲存在陣列中的下標對應為 12 3 4 5 6 7 8 9 10 11 12 13 14 15 四部分單點更新 根據題目的要求編寫自己的pushup,query...
線段樹模板
include include include using namespace std const int size 10010 struct node the node of line tree class linetree void updatem void updateline public ...
線段樹模板
單點更新,區間求最值 include include include include include define n 222222 using namespace std int num n struct tree tree n 4 void push up int root void build...