時間限制: 1 s
空間限制: 128000 kb
題目等級 : ** gold
在一條數軸上有n個點,分別是1~n。一開始所有的點都被染成黑色。接著
我們進行m次操作,第i次操作將[li,ri]這些點染成白色。請輸出每個操作執行後
剩餘黑色點的個數。
輸入描述
input description
輸入一行為n和m。下面m行每行兩個數li、ri
輸出描述
output description
輸出m行,為每次操作後剩餘黑色點的個數。
樣例輸入
sample input
10 3
3 35 7
2 8
樣例輸出
sample output96
3
資料範圍及提示
data size & hint
資料限制
對30%的資料有1<=n<=2000,1<=m<=2000
對100%資料有1<=li<=ri<=n<=200000,1<=m<=200000
分類標籤#br
裸的線段樹。
一定要記住如果整個區間都是0了一定要return
啊啊啊啊啊啊啊啊啊啊
1 #include2 #include3 #include4 #include5using
namespace
std;
6const
int maxn=200001;7
void read(int &n)812
while(c>='
0'&&c<='9'
)13
14 flag==1?n=-x:n=x;15}
16int
n,m;
17struct
node
18tree[maxn*4
];21
void update(int
k)22
25void build_tree(int ll,int rr,int
k)26
34int mid=(ll+rr)>>1
;35 build_tree(ll,mid,k<<1
);36 build_tree(mid+1,rr,k<<1|1
);37
update(k);38}
39void interval_change(int k,int ql,int
qr)40
48int mid=(tree[k].l+tree[k].r)>>1;49
if(ql<=mid)
50 interval_change(k<<1
,ql,qr);
51if(qr>mid)
52 interval_change(k<<1|1
,ql,qr);
53update(k);54}
55int
main()
5666
return0;
67 }
codevs1191 數軸染色
題目描述 description 在一條數軸上有n個點,分別是1 n。一開始所有的點都被染成黑色。接著 我們進行m次操作,第i次操作將 li,ri 這些點染成白色。請輸出每個操作執行後 剩餘黑色點的個數。輸入描述 input description 輸入一行為n和m。下面m行每行兩個數li ri 輸...
codevs 1191 數軸染色
1191 數軸染色 時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解檢視執行結果 題目描述 description 在一條數軸上有n個點,分別是1 n。一開始所有的點都被染成黑色。接著 我們進行m次操作,第i次操作將 li,ri 這些點染成白色。請輸出每個操作執行後 剩餘黑色...
CODE VS 1191 數軸染色
題目描述 description 在一條數軸上有 n個點,分別是1 n。一開始所有的點都被染成黑色。接著 我們進行 m次操作,第 i次操作將 li,ri 這些點染成白色。請輸出每個操作執行後 剩餘黑色點的個數。輸入描述 input description 輸入一行為n和 m。下面 m行每行兩個數li...