小b有乙個序列,包含n個1~k之間的整數。他一共有m個詢問,每個詢問給定乙個區間[l..r],求sigma(c(i)^2)的值,其中i的值從1到k,其中c(i)表示數字i在[l..r]中的重複次數。小b請你幫助他回答詢問。
不帶修莫隊模板題
#include
using
namespace
std;
const
int maxn = 200000 + 10;
int n,m,k,a[50000],ans[maxn],tot,cnt[1000001],block;
struct
node
}p[maxn];
inline
void
add(int x)
inline
void
del(int x)
intmain
() for (int i = 1;i <= m;i++) printf("%d\n",ans[i]);
return
0;}
#include
using
namespace
std;
const
int maxn = 200000 + 10;
int n,m,k,a[50000],ans[maxn],tot,cnt[1000001],block;
struct
node
}p[maxn];
inline
void
add(int x)
inline
void
del(int x)
intmain
() for (int i = 1;i <= m;i++) printf("%d\n",ans[i]);
return
0;}
luogu 2709小b的詢問 莫隊
無修改的莫隊幾乎沒有什麼太高深的套路,比較模板吧,大多都是在那兩個函式上動手腳。這題詢問每一種數字數量的平方和,那麼我們在左移或右移的時候記錄一下就好了,當每一種數字的種類數加1或減1的時候,我們需要減去以前這個數對答案的影響,加上現在對答案的影響。假設原來數字a的種類數為k,如今又加入乙個a,那麼...
莫隊 小B的詢問
莫隊經典例題 這題詢問每一種數字數量的平方和,那麼我們在左移或右移的時候記錄一下就好了,當每一種數字的種類數加1或減1的時候,我們需要減去以前這個數對答案的影響,加上現在對答案的影響。假設原來數字a的種類數為k,如今又加入乙個a,那麼先ans k2,然後ans k 1 2.刪除同理。include ...
洛谷小B的詢問(莫隊)
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。...