BZOJ 1878: [SDOI2009]HH的项链 | 莫队

题解:

http://www.lydsy.com/JudgeOnline/problem.php?id=1878


题解:

莫队板子题

核心思想是对区间的询问离线之后按照合理的顺序来优化复杂度

一般的做法是先分块,以左端点所在块为第一关键字,右端点位置为第二关键字排序

用两个指针来跑,这样可以证明的是时间复杂度为O(n√n)

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#define N 50005
#define M 1000005
#define Q 200005
using namespace std;
int n,m,S,l,r,tl,tr,tot,ans[Q],a[N],cnt[M];
struct node
{int l,r,bl,id;bool operator < (const node &x)const{return bl<x.bl || bl==x.bl && r<x.r;}
}q[Q];
int main()
{scanf("%d",&n);S=sqrt(n);for  (int i=1;i<=n;i++)scanf("%d",a+i);scanf("%d",&m);for (int i=1;i<=m;i++){scanf("%d%d",&l,&r);q[i].id=i;q[i].l=l;q[i].r=r;q[i].bl=(l-1)/S+1;}sort(q+1,q+1+m);for (int i=1;i<=m;i++){l=q[i].l,r=q[i].r;while (tl<l) if (!--cnt[a[tl++]]) tot--;while (tl>l) if (!cnt[a[--tl]]++) tot++;while (tr<r) if (!cnt[a[++tr]]++) tot++;while (tr>r) if (!--cnt[a[tr--]]) tot--;ans[q[i].id]=tot;}for (int i=1;i<=m;i++)printf("%d\n",ans[i]);return 0;
}

 

转载于:https://www.cnblogs.com/mrsheep/p/8182026.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

layui导航栏页面滚动固定_帮你搞定长滚动网页的设计!这5种设计策略需谨记!...

网站中的内容再好&#xff0c;总得让用户能看到&#xff0c;才有价值&#xff0c;而矛盾在于&#xff0c;首屏的空间始终是有限的。所以&#xff0c;我们总希望用户能够滚动页面向下看&#xff0c;从某种意义上来说&#xff0c;长滚动页面和无限滚动的设计&#xff0c;如此地受…

hdata datax交流总结

http://blog.csdn.net/zlm838687/article/details/74781522 hdata datax交流总结 今天和阿里云的同学就数据同步做了简要的交流&#xff0c;下面就交流的内容做一个总结 分片相关 datax目前可以支持单机(standalone)和集群模式(cluster).目前开源的是单机版本。无论是单机版本还…

南邮计算机专硕考研专业课,南京邮电大学(专业学位)计算机技术研究生考试科目和考研参考书目...

考研真题资料优惠价原价选择南京邮电大学(专业学位)计算机技术教材&#xff0c;也叫南京邮电大学(专业学位)计算机技术考研参考书、指定书目等等&#xff0c;是考验专业课复习过程中最重要的资料。考研是一种针对性很强的考试项目&#xff0c;参考书目由报考院校的研究生院制定…

ios 设置属性的center_【从0到1的Stata图表学习1】图例设置

导读规则&#xff1a;正文出现非加粗红色字体&#xff0c;对应Stata命令&#xff1b;正文中出现蓝色字体&#xff0c;对应往期链接&#xff1b;do文件中&#xff1a;"/**/"符号代表作者注释内容&#xff0c;帮助理解&#xff1b;"//"代表分节&#xff0c;便…

CentOS7 升级Python2.x到3.x

CentOS 7 中默认安装了 Python&#xff0c;版本比较低&#xff08;2.7.5&#xff09;&#xff0c;为了使用新版 3.x&#xff0c;需要对旧版本进行升级。由于很多基本的命令、软件包都依赖旧版本&#xff0c;比如&#xff1a;yum。所以&#xff0c;在更新 Python 时&#xff0c;…

计算机网络的应用领域有那些,计算机网络应用领域

描述计算机网络应用领域一、计算机网络在现代企业中的应用计算机网络的发展和应用改变了传统企业的管理模式和经营模式。在现代企业中企业信息网络得到了广泛的应用。它是一种专门用于企业内部信息管理的计算机网络&#xff0c;覆盖企业生产经营管理的各个部门&#xff0c;在整…

ffmpeg rtsp转hls_Qt音视频开发24-ffmpeg音视频同步

## 一、前言用ffmpeg来做音视频同步&#xff0c;个人认为这个是ffmpeg基础处理中最难的一个&#xff0c;无数人就卡在这里&#xff0c;怎么也不准&#xff0c;本人也是尝试过网上各种demo&#xff0c;基本上都是渣渣&#xff0c;要么仅仅支持极其少量的视频文件比如收到的数据包…

1119. Pre- and Post-order Traversals (30)

友情提示&#xff1a;这题非常值得自己思考独立做出来&#xff0c;请反复确认后再往下拉 1119. Pre- and Post-order Traversals (30) 时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Special作者CHEN, YueSuppose that all the keys in a binary tree are distinc…

单招计算机英语面试口语,单招面试英语自我介绍范文 自我介绍说什么

单招面试英语自我介绍范文 自我介绍说什么2018-03-11 10:50:17文/李男学好英语就意味着可能有更多的机会&#xff0c;单招面试中英语自我介绍也是很重要的。那么&#xff0c;英语自我介绍说什么呢&#xff1f;下面小编整理了一些英语自我介绍范文&#xff0c;供大家参考&#x…

jsp中导入jsf标签库_初学jsf,自制的标签使用时报错?解决办法

当前位置:我的异常网 Java Web开发 初学jsf&#xff0c;自制的标签使用时报错&#xff1f;解决办法初学jsf&#xff0c;自制的标签使用时报错&#xff1f;解决办法www.myexceptions.net 网友分享于&#xff1a;2013-09-12 浏览&#xff1a;10次初学jsf&#xff0c;自制的标签…

bzoj 2245 [SDOI2011]工作安排【最小费用最大流】

其实不用拆点&#xff0c;对于每个人我们假装他是\( s[i]1 \)个点&#xff0c;可以由他向T点分别连\( s[i]1 \)条边&#xff0c;容量为\( t[i][j]-t[i][j-1]\)&#xff0c;由S点向所有产品i连容量为c[i]的边&#xff0c;由所有产品向能制造它的人连容量为inf的边。 因为是最小费…

angularjs directive scope变化为啥html,学习AngularJs:Directive指令用法(完整版)

本教程使用AngularJs版本&#xff1a;1.5.3摘要&#xff1a;Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一。它就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR属性&#xff0c;并且它不只是单单如此&#xff0c;你还可以在它的基础上来操作scope、绑…

通信、计算机、电子相关专业技术工作

中国联合网络通信有限公司&#xff08;福建分公司2018招聘&#xff09;<1>IT工程师相应岗位&#xff08;软件方向&#xff09;岗位需求1.以C/C等计算机语言为主要武器&#xff0c;参与公司IT开发、维护、优化2.根据公司发展和业务需求进行软件设计、参与代码开发、系统测…

python可视化报表制作教程_如何使用Python快速制作可视化报表

数据可视化能力已经越来越成为各岗位的基础技能。领英的数据报告显示&#xff0c;数据可视化技能在2017年中国最热门技能中排名第一。就数据分析而言&#xff0c;可视化探索几乎是你正式进行数据分析的第一步&#xff0c;通过SQL拿到数据之后&#xff0c;我们需要使用可视化方法…

vfp程序改错 计算机和英语,vfp程序改错教案.doc

Visual Foxpro程序改错〖第1题〗(练习题所在文件夹:163)*题目&#xff1a;该程序完成口令检验功能。输入三次不正确退出。*注意&#xff1a;不可以增加或删除程序行&#xff0c;也不可以更改程序的结构。SET TALK OFFCLEARass1"AbCdEf"TT1DO WHILE TT<410,20 SAY …

青春

青春 最后一班午夜列车&#xff0c;悄悄地带走了青春&#xff0c;溪水淌过的路终将不会倒流而去。 青春就像一件新买的衬衫&#xff0c;尽管新颖夺目&#xff0c;却始终逃不了岁月的洗礼&#xff0c;一遍一遍的脱去新颖的靓丽&#xff0c;尽管你小心的呵护&#xff0c;终将守护…

lisp遍历表中所有顶点_三十张图片让你彻底弄明白图的两种遍历方式:DFS和BFS...

1 引言遍历是指从某个节点出发&#xff0c;按照一定的的搜索路线&#xff0c;依次访问对数据结构中的全部节点&#xff0c;且每个节点仅访问一次。  在二叉树基础中&#xff0c;介绍了对于树的遍历。树的遍历是指从根节点出发&#xff0c;按照一定的访问规则&#xff0c;依次…

未来教育计算机二级预测c,二级C语言(附光盘)(全国计算机等级考试预测试卷与真考题库)...

摘要&#xff1a;高质量预测试卷 首创命题模拟系统,专家层层把关,瞄准每年的更新试题 最新版无纸化考试题库 提供1035道题,所有试题均有正确答案与详尽解析 无纸化真考模拟系统 操作环境,评分机制与真实考试系统的完全一致,带您提前"进入"考场 名师视频课堂 机考误区…

通用测试用例大全

为方便平时写测试用例&#xff0c;整理如下&#xff1a; 功能条件测试步骤测试数据预期结果备注搜索或查询 单独遍历各查询条件&#xff0c;测试按各查询条件是否都能够查询出相应的值. 查询出符合条件的记录 设置界面上所有查询条件进行查询,单击查询按钮后&#xff0c;测试执…

cαr怎么发音_【英语拼读发音规则】连读、略读、重读、断句、语调……

在说汉语的时候&#xff0c;我们讲究的是“字正腔圆、掷地有声”&#xff0c;而英语恰恰相反&#xff0c;它需要将一句话中的某些重点词汇突出&#xff0c;弱化非重点词汇。所以&#xff0c;对已经习惯了“字正腔圆”的我们来讲&#xff0c;就会觉得英语听起来“太含含糊糊”了…