LuoguP3948 資料結構

2022-02-28 17:12:49 字數 977 閱讀 2279

題目鏈結

以為這題雖然是資料隨機也不至於那麼水吧...

於是秉著先打部分分和暴力的原則先寫了暴力和min,max為-inf和inf的特殊點,對於暴力搞了個小優化,延後的操作直接字首和答案就好...

然後感覺資料隨機的話能過\(n<=5000\)

交了發現跑的飛快,有了一點奇奇怪怪的想法,直接交暴力試試?

然後就過了。7000+ms...

效率是\(o(opt*n+final)\)的,因為資料隨機所以其實也不用卡就能過去了...

我以為他的隨機至少有部分構造資料來著...

然後看了官方題解居然也只是對暴力操作差分優化了一下...這個的效率也不對的其實...如果資料出到上界是過不去的...

(當時有想到這個但是算了效率是不對的於是cut掉了這個想法。還以為這題正解多高明233333)

#include using namespace std;

#define ll long long

#define inf 0x3f3f3f3f

#define n 200010

int n, opt, mod, min, max, fin;

ll a[n], sum[n];

namespace pts_1

printf("%d\n", r - l + 1);

} scanf("%d", &fin);

for(int i = 1; i <= fin; i ++) }}

namespace pts_2 else

printf("%lld\n", ans);

} } for(int i = 1; i <= n; i ++)

scanf("%d", &fin);

while(fin--) }}

int main()

else

pts_2::solve(); return 0;

}}

洛谷P3948 資料結構 題解

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

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

直接差分陣列搞一搞就ok了。因為前面的查詢和修改摻雜在一起的詢問很少,所以對於那些詢問我們暴力去查詢就ok。在final詢問之前求乙個符合要求的字首和就可以o 1 輸出了。include using namespace std const int maxn 8e4 5 typedef long lo...

洛谷 P3948 資料結構 差分陣列

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