原題位置:
這道題是莫隊,據說在離線區間查詢上,莫隊無敵,但是感覺還好吧;
首先這道題是乙個用來練手的好題,因為這是板子題;
所以主要就是排序,然後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個整數,表示小...