codevs1191 數軸染色

2021-07-09 05:35:02 字數 1130 閱讀 7474

題目描述 description

在一條數軸上有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 output 9

63資料範圍及提示 data size & hint

資料限制

對30%的資料有1<=n<=2000,1<=m<=2000

對100%資料有1<=li<=ri<=n<=200000,1<=m<=200000

【題解】

sum[now]表示這個區間有沒有被完全染色。bool

【**】

#include#include#includeusing namespace std;

int n,m,lrange,rrange,ans;

bool sum[5000000],delta[5000000];

inline void update(int now)

inline void pushdown(int now,int l,int r,int mid)

}inline void interval_change(int now,int l,int r,int lrange,int rrange)

if (lrange<=mid)

interval_change(now<<1,l,mid,lrange,rrange);

if (mid+1<=rrange)

interval_change((now<<1)+1,mid+1,r,lrange,rrange);

update(now);

}inline int query(int now,int l,int r,int lrange,int rrange)

int main()

}

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...

codevs 1191 數軸染色

題目描述 description 在一條數軸上有n個點,分別是1 n。一開始所有的點都被染成黑色。接著 我們進行m次操作,第i次操作將 li,ri 這些點染成白色。請輸出每個操作執行後 剩餘黑色點的個數。輸入描述 input description 輸入一行為n和m。下面m行每行兩個數li ri 輸...