洛谷 P3948 資料結構 (差分陣列)

2021-09-05 09:31:13 字數 692 閱讀 4335

直接差分陣列搞一搞就ok了。因為前面的查詢和修改摻雜在一起的詢問很少,所以對於那些詢問我們暴力去查詢就ok。在final詢問之前求乙個符合要求的字首和就可以o(1)輸出了。

#include

using

namespace std;

const

int maxn =

8e4+5;

typedef

long

long ll;

int n, opt, mod, min, max, final, sum[maxn]

;ll diff[maxn]

;int

main()

if(c[0]

=='q'

)printf

("%d\n"

, ans);}

} ll now =0;

for(

int i =

1; i <= n; i++

)scanf

("%d"

,&final)

;while

(final--

)return0;

}/*3 2 4 0 2

a 1 3 5

q 2 3

51 3

2 31 1

2 2

3 3*/

洛谷 P3948 資料結構 差分陣列

題目看起來很麻煩,其實就是區間修改和區間查詢,這裡我用的是差分陣列寫的,線段樹應該也可以寫吧,對於剛開始的opt次詢問,可以直接暴力求滿足條件的個數,然後在後面的final次詢問之前我們對差分陣列求乙個字首和,記錄一下所有滿足條件的個數的字首和,然後o 1 去輸出就好了。ac include def...

洛谷 P3948 資料結構(差分陣列)

題意 開始每個陣列的元素都是0 給出n opt,mod,min,max,mod在int內 操作 a,q a l,r,x 吧 l,r 這個區間內每個元素 x q l,r 詢問 l,r 這個區間中元素滿足 min t i mod max 的t這樣的數的個數 i是陣列下標 在給出乙個final值,表示有f...

洛谷P3948 資料結構 題解

題目傳送 感覺這道題秀了我一地的智商。審題沒審好,沒確定帶修改的操作中詢問的次數 1000,且max和min都是事先給好 不變的。想了半天線段樹 分塊,卻忘了最基礎的暴力。寫不出題時先寫暴力。離線部分 顯然不能暴力處理詢問了,但是沒有修改,又是區間詢問個數,自然要想到字首和優化了。設sum i 為前...