@[zhaohanwen](/user/767660)
@[OcTar](/user/594916)
@[mashduihca](/user/494183)
by ReturnOrContinue @ 2023-11-15 18:28:47
@[ReturnOrContinue](/user/767588) 你不是过了吗
by mashduihca @ 2023-11-15 18:35:06
@[ReturnOrContinue](/user/767588) /bx
by OcTar @ 2023-11-15 18:35:39
@[mashduihca](/user/494183) 吸了氧平均600ms??
by ReturnOrContinue @ 2023-11-15 18:37:05
@[OcTar](/user/594916) /hs
by ReturnOrContinue @ 2023-11-15 18:37:26
@[ReturnOrContinue](/user/767588) 你码呢
by diqiuyi @ 2023-11-15 18:47:53
@[ReturnOrContinue](/user/767588) 我开完隐了看不了你代码-
by mashduihca @ 2023-11-15 18:48:48
```cpp
#include <bits/stdc++.h>
#define op return
#define AK 0
#define IOI ;
#define uint unsigned int
#define ll long long
#define ld long double
#define ull unsigned ll
#define lll __int128
#define pii pair<int,int>
#define pip pair<int,pii>
#define ppp pair<pii,pii>
#define deb cerr<<"op AK IOI\n"
#define tostring(a) #a
#define cono(a,b) a##b
#define psa(i) (i=-~(i))
#define range(i) (-~(i))
#define mid (l+r>>1)
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;
inline ll read()
{
ll s=0;int w=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9')s=(s<<1)+(s<<3)+(ch^'0'),ch=getchar();
return s*w;
}
const int N=5e4+10;
uint ans[N],n,m,k,len,a[N],idx[N],cnt[N],cur;
struct Node
{
int l,r,id;
bool operator <(const Node &p)const
{
if(idx[l]==idx[p.l])return l<p.l;
if(idx[l]&1)return r<p.r;
return r>p.r;
}
}q[N];
void build()
{
len=sqrt(n);
for(int i=1;i<=n;psa(i))idx[i]=(i-1)/len+1;
}
inline void add(int p)
{
cur-=cnt[a[p]]*cnt[a[p]];
psa(cnt[a[p]]);
cur+=cnt[a[p]]*cnt[a[p]];
}
inline void del(int p)
{
cur-=cnt[a[p]]*cnt[a[p]];
--cnt[a[p]];
cur+=cnt[a[p]]*cnt[a[p]];
}
int main()
{
n=read(),m=read(),k=read();
for(int i=1;i<=n;psa(i))a[i]=read();
build();
for(int i=1;i<=m;psa(i))
q[i].l=read(),q[i].r=read(),q[i].id=i;
sort(q+1,q+1+m);
for(int i=1,l=1,r=0;i<=m;psa(i))
{
while(l<q[i].l)del(l++);
while(r>q[i].r)del(r--);
while(l>q[i].l)add(--l);
while(r<q[i].r)add(++r);
ans[q[i].id]=cur;
}
for(int i=1;i<=m;psa(i))printf("%u\n",ans[i]);
op AK IOI
}
```
by ReturnOrContinue @ 2023-11-15 18:57:50
@[ReturnOrContinue](/user/767588) 额,你在写一种很新的排序..
by mashduihca @ 2023-11-15 19:04:50
@[mashduihca](/user/494183) 现学的,叫什么奇偶性排序?(大雾
by ReturnOrContinue @ 2023-11-15 19:07:15