博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
whu oj 1551 Pairs (莫队算法)
阅读量:6722 次
发布时间:2019-06-25

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

题目大意:

给出的询问,求出这个区间的里 差小于等于 2 的数字的对数。

思路分析:

莫队算法。

然后分析一下。

假设添加了一个数字。那么就要加它旁边相差为2 的数字的和。

反之降低一个。就要降低相差为2 的数字的和。再减去自己这个1.。

#include 
#include
#include
#include
#include
#define maxn 100005using namespace std;int app[maxn];int save[maxn];int pos[maxn];struct foo{ int l,r,index; int ans; bool operator < (const foo &cmp)const { if(pos[l] == pos[cmp.l]) return r
0)ans+=tot; else ans-=tot-1; app[save[p]]+=add;}int main(){ int n,m; int cas=1; while(scanf("%d%d",&n,&m)!=EOF) { int SIZE=(int)sqrt(1.0*n); memset(app,0,sizeof app); for(int i=1;i<=n;i++) { scanf("%d",&save[i]); pos[i]=(i-1)/SIZE+1; } for(int i=0;i
Q[i].r) { for(;r>Q[i].r;r--) modify(r,ans,-1); } if(l
Q[i].l) { for(l=l-1;l>=Q[i].l;l--) modify(l,ans,1); l++; } Q[i].ans=ans; } sort(Q,Q+m,cmp_id); printf("Case %d:\n",cas++); for(int i=0;i

转载地址:http://thcmo.baihongyu.com/

你可能感兴趣的文章
jsp基础语法【03】_page指令
查看>>
iOS 往工程里添加自定义字体
查看>>
Express cookie-parser
查看>>
scp命令
查看>>
MySQL数据库性能优化之存储引擎选择
查看>>
前端面试大全(一)
查看>>
类加载过程的原理分析
查看>>
Day1_HTML_排版标签
查看>>
基本分词
查看>>
系统提示不能打开文件langbar.chm
查看>>
混合云工作负载5个安全问题
查看>>
对于上一篇文章的补充,关于String类型的比较
查看>>
固定边栏滚动特效
查看>>
学习英文之社区,博客及源码
查看>>
Git备忘
查看>>
Lvs+keepalived+httpd+NFS搭建高可用
查看>>
配置浏览器来显示基于WebGL的动画
查看>>
python 知识点小结
查看>>
CentOS7.4 yum 安装 Apache php5.6 或者 php7
查看>>
avalon2问题总结
查看>>