小b 有乙個長為 nn 的整數序列 aa,值域為 [1,k][1,k]。
他一共有 mm 個詢問,每個詢問給定乙個區間 [l,r][l,r],求:
\sum\limits_^k c_i^2i=1∑kci2
其中 c_ici表示數字 ii 在 [l,r][l,r] 中的出現次數。
小b請你幫助他回答詢問。
第一行三個整數 n,m,kn,m,k。
第二行 nn 個整數,表示 小b 的序列。
接下來的 mm 行,每行兩個整數 l,rl,r。
輸出 mm 行,每行乙個整數,對應乙個詢問的答案。
#includeusingnamespace
std;
typedef
long
long
ll;const
int maxn=2e5+100
;ll a[maxn];
ll cnt[maxn];
ll belong[maxn];
ll n,m,k,size,bnum,now,ans[maxn];
struct
query q[maxn];
intcmp (query a,query b)
void add (int
p) void del (int
p) int
main ()
sort(q+1,q+m+1
,cmp);
ll l=1,r=0
;
for (int i=1;i<=m;i++)
for (int i=1;i<=m;i++) printf("
%lld\n
",ans[i]);
}
P2709 小B的詢問 莫隊演算法
莫隊演算法被稱為優雅的暴力,是一種 毒瘤暴力的 區間操作演算法。初學莫隊,記錄一下思想。對於多個區間查詢 l,r 這類問題,可以離線操作,常規做法還有對左區間或者右區間從小到大排序,讓左指標或者右指標只走一遍,有效降低時間複雜度。但是遇到 1,1000000 2,3 3,1000000 4,5 5,...
P2709 小B的詢問 莫隊演算法
題意 小b有乙個序列,包含n個1 k之間的整數。他一共有m個詢問,每個詢問給定乙個區間 l.r 求sigma c i 2 的值,其中i的值從1到k,其中c i 表示數字i在 l.r 中的重複次數。小b請你幫助他回答詢問。就是求區間不同數字個數的平方和 注意平方數可以拆開從1 n 遞推。include...
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個整數,表示小...