博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[luogu2709] 小B的询问
阅读量:4973 次
发布时间:2019-06-12

本文共 1019 字,大约阅读时间需要 3 分钟。

直接莫队即可。

#include 
#include
#include
#include
#define MAXN 50005struct Node { int l,r,num,ans;}G[MAXN];int book[MAXN];int cur[MAXN],rec[MAXN];int N,M,K,size;int ans = 0;inline void work(int x,int u) { ans -= book[cur[x]]*book[cur[x]]; book[cur[x]] += u; ans += book[cur[x]]*book[cur[x]];}inline bool cmp(Node a,Node b) { return (a.l/size)^(b.l/size) ? a.l
b.r);}int main() { scanf("%d%d%d",&N,&M,&K); for(int i=1;i<=N;++i) { scanf("%d",&cur[i]); } size = floor(sqrt(N)); std::memset(book,0,sizeof(book)); for(int i=1;i<=M;++i) { scanf("%d%d",&G[i].l,&G[i].r); G[i].num = i; } std::sort(G+1,G+1+M,cmp); int L = G[1].l,R = G[1].r; ans = 0; for(int i=L;i<=R;++i) work(i,1); for(int i=1;i<=M;++i) { while(L>G[i].l) work(--L,1); while(R>G[i].r) work(R--,-1); while(R

转载于:https://www.cnblogs.com/Neworld2002/p/10050457.html

你可能感兴趣的文章
C++读取系统当前时间 分类: C/C++ 2015...
查看>>
POJ - 2723 Get Luffy Out (二分+2-SAT)
查看>>
Wannafly交流赛1 E 迷宫2
查看>>
20145304 实验四实验报告
查看>>
直联和间联的区别——直连和间连的区别
查看>>
mysql多字段模糊查询
查看>>
IIS7日志文件位置
查看>>
SQL锁死解决办法
查看>>
python循环
查看>>
Swift - 10 - assert(断言)
查看>>
Codeforces Round #468 (Div. 2, based on Technocup 2018 Final Round)A. Friends Meeting
查看>>
LeetCode "Wiggle Subsequence" !
查看>>
团队作业第二次—项目选题报告
查看>>
hadoop+hive+hbase+zookeeper安装
查看>>
final, static
查看>>
jq工具函数(六)字符串操作函数
查看>>
SSH连接Linux
查看>>
utf-8编码的csv文件 Excel 打开乱码 输出前加 0xEF,0xBB,0xBF 三个char
查看>>
AC日记——配对碱基链 openjudge 1.7 07
查看>>
AC日记——魔方 洛谷 P2007
查看>>