洛谷 2709 小B的詢問

2021-09-28 20:24:49 字數 1069 閱讀 4284

題目描述

小b有乙個序列,包含n個1~k之間的整數。他一共有m個詢問,每個詢問給定乙個區間[l…r],求∑(c

(i)2

)\sum(c(i)^2)

∑(c(i)

2)的值,其中i的值從1到k,其中c(i)表示數字i在[l…r]中的重複次數。小b請你幫助他回答詢問。

輸入格式

第一行,三個整數n、m、k。

第二行,n個整數,表示小b的序列。

接下來的m行,每行兩個整數l、r。

輸出格式

m行,每行乙個整數,其中第i行的整數表示第i個詢問的答案。

輸入輸出樣例

輸入 #1

6 4 3

1 3 2 1 1 3

1 42 6

3 55 6

輸出 #169

52

說明/提示

對於全部的資料,1<=n、m、k<=50000

解釋:非常簡單的莫隊演算法題,直接上模板

#include#include#include#define n 50003

#define ll long long

using namespace std;

int pos[n]=;

ll a[n]=;

int n=0,m=0,k=0;

ll ret=0;

ll num[n]=;

struct nodes[n];

bool cmp(node &a,node &b)

for(int i=1;i<=m;i++)

sort(s+1,s+1+m,cmp);

for(int i=1,l=1,r=0;i<=m;i++)

sort(s+1,s+1+m,cmp_id);

for(int i=1;i<=m;i++)

return 0;

}

洛谷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個整數...

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

洛谷2709 小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行,每行兩個整...