LOJ 6277 數列分塊入門 1 (分塊)

2021-08-21 04:28:08 字數 603 閱讀 4658

給出乙個長為 nnn 的數列,以及 nnn 個操作,操作涉及區間加法,單點查值。

分塊,每次更新的話對塊兩側不完整的地方暴力更新,對完整的塊內部分打標記,查詢時直接返回資料值和標記部分的值即可。

#include

using

namespace

std;

typedef

long

long ll;

const

int nmax = 5e4 + 100 ;

const

int inf = 0x3f3f3f3f;

const

int mmax = sqrt(5e4 + 100) + 100;

ll data[nmax];

ll tag[mmax];

int n,block,num,l[mmax],r[mmax],belong[nmax];

void init()

int main() else

}else

printf("%lld\n",data[r] + tag[belong[r]]);}}

return

0;}

LOJ 6277 數列分塊入門 1

給出乙個長為 n 的數列,以及 n 個操作,操作涉及區間加法,單點查值。第一行輸入乙個數字 n。第二行輸入 n 個數字,第 i 個數字為 a i 以空格隔開。接下來輸入 n 行詢問,每行輸入四個數字 mathrm,l,r,c,以空格隔開。若 mathrm 0 表示將位於 l,r 的之間的數字都加 c...

LOJ 6277 數列分塊入門 1(分塊入門)

記憶體限制 256 mib時間限制 100 ms標準輸入輸出 題目型別 傳統評測方式 文字比較 上傳者 hzwer 提交 提交記錄 統計討論 3 測試資料 題目描述 給出乙個長為 n 的數列,以及 n 個操作,操作涉及區間加法,單點查值。輸入格式 第一行輸入乙個數字 n。第二行輸入 n 個數字,第 ...

LibreOJ 6277 數列分塊入門 1 分塊

題解 感謝hzwer學長和loj讓本蒟蒻能夠找到如此合適的入門題做.這是一道非常標準的分塊模板題,本來用打標記的線段樹不知道要寫多少行,但是分塊只有這麼幾行,極其高妙.如下 include include include include include using namespace std int...