luogu P2709 小B的詢問

2021-08-08 17:15:37 字數 895 閱讀 5507

原題位置:

這道題是莫隊,據說在離線區間查詢上,莫隊無敵,但是感覺還好吧;

首先這道題是乙個用來練手的好題,因為這是板子題;

所以主要就是排序,然後while查詢;

至於排序方式 :

首先 ,應用分塊思想,以查詢左端點所在塊為第一關鍵字, 以右端點為第二關鍵字 ,均從小到大排序;

然後就沒有然後了;

———————–分割線啊——————————–

#include

#include

#include

#include

#define ii int

#define r register

#define i 123456

using

namespace

std;

struct node aa[i];

ii kuan, ans,n,m,k,l=1,r=0;

ii c[i], kaa[i], a[i];

bool map(node a1,node a2)

void dle(r ii x)

int main()

for(r ii i=1;i<=m;i++) printf("%d\n",kaa[i]);

exit(0);

}

————————————-文末分割線————————————–

by pretend-fal

end;

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行,...

luogu P2709 小B的詢問

但本題特殊的地方就是那個sigma。考慮對於i這個數,它現在又出現了一次,計算對答案的影響 c i 1 c i 2c i 1 所以每次出現次數加一時就給答案加上2 c i 1。類似的,減少一次時就減去2 c i 1。include include include include include de...

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個整數,表示小...