luogu P2709 小B的詢問

2022-06-18 16:06:16 字數 444 閱讀 2312

但本題特殊的地方就是那個sigma。考慮對於i這個數,它現在又出現了一次,計算對答案的影響:

\[(c[i]+1)^-c[i]^=2c[i]+1\\

\]所以每次出現次數加一時就給答案加上2 * c(i) + 1。

類似的,減少一次時就減去2 * c(i) - 1。

#include#include#include#include#include#define maxn 50001

using namespace std;

int n,m,k,val[maxn];

inline int read()

inline void add(const int &x)

inline void del(const int &x)

inline void solve()

}int main()

luogu P2709 小B的詢問

原題位置 這道題是莫隊,據說在離線區間查詢上,莫隊無敵,但是感覺還好吧 首先這道題是乙個用來練手的好題,因為這是板子題 所以主要就是排序,然後while查詢 至於排序方式 首先 應用分塊思想,以查詢左端點所在塊為第一關鍵字,以右端點為第二關鍵字 均從小到大排序 然後就沒有然後了 分割線啊 inclu...

luogu P2709 小B的詢問

小b有乙個序列,包含n個1 k之間的整數。他一共有m個詢問,每個詢問給定乙個區間 l.r 求sigma c i 2 的值,其中i的值從1到k,其中c i 表示數字i在 l.r 中的重複次數。小b請你幫助他回答詢問。輸入格式 第一行,三個整數n m k。第二行,n個整數,表示小b的序列。接下來的m行,...

luoguP2709 小B的詢問

題目描述 小b有乙個序列,包含n個1 k之間的整數。他一共有m個詢問,每個詢問給定乙個區間 l.r 求sigma c i 2 的值,其中i的值從1到k,其中c i 表示數字i在 l.r 中的重複次數。小b請你幫助他回答詢問。輸入輸出格式 輸入格式 第一行,三個整數n m k。第二行,n個整數,表示小...