這題我們只需設個check[i]表示第i塊是否都為乙個數,b[i]表示第i塊變成的數。
然後暴力搞就可以了。
至於為什麼,我們看看hzwer大佬(黃學長)的解釋吧:(%d%a%l%a%o)
上標:
#include
#include
#include
#define n 100010
using namespace std;
int n,st,a[n]
,bl[n]
,le[n]
,ri[n]
;int b[
321]
,check[
321]
,l,r,c;
inline
intread()
void
update
(int x)
intq_c
(int l,
int r,
int c)
for(
int i=bl[l]+1
;i<=bl[r]-1
;i++)if
(check[i]
)else
return ans;
}int
main()
for(
int i=
1;i<=n;i++
)return0;
}
6284 數列分塊入門 8
題目描述 給出乙個長為 n的數列,以及 n 個操作,操作涉及區間詢問等於乙個數 c 的元素,並將這個區間的所有元素改為 c。輸入格式 第一行輸入乙個數字 n。第二行輸入 n個數字,第 i 個數字為 ai 以空格隔開。接下來輸入 n行詢問,每行輸入三個數字 l r c,以空格隔開。表示先查詢位於 l,...
數列分塊入門 5 總結
這題我得著重給一給資料範圍,嗯嗯 哈哈,我們發現a i 最大是231 1。好,我們開開方先 2147483647 46340 取整的 2151431 1 我們再試幾個數,發現最終會變成0或1,然後就不會在變了。所以,它最多會開方5次,然後便相當於不變了。這樣子,我們一開始全部暴力改。每當乙個塊的全部...
loj 6284 數列分塊入門 8
題目描述 給出乙個長為 nnn 的數列,以及 nnn 個操作,操作涉及區間詢問等於乙個數 ccc 的元素,並將這個區間的所有元素改為 ccc。輸入格式 第一行輸入乙個數字 nnn。第二行輸入 nnn 個數字,第 i 個數字為 aia ia i 以空格隔開。接下來輸入 nnn 行詢問,每行輸入三個數字...