BZOJ 1878 [SDOI2009]HH的项链 【莫队】

LTR-390UV-01对比VEML6075:5个真实项目中的选型避坑指南 本文对比了LTR-390UV-01和VEML6075两款环境光传感器在5个真实项目中的表现,提供了选型避坑指南。通过智能手环、农业温室、紫外线消毒柜等场景的实测数据,分析了动态范围、抗干扰性、温度稳定性等关键差异,帮助开发者在成本与性能间做出最优选择。 阅读详情

任意门:https://www.lydsy.com/JudgeOnline/problem.php?id=1878

1878: [SDOI2009]HH的项链

Time Limit: 4 Sec  Memory Limit: 64 MB
Submit: 7548  Solved: 3718
[Submit][Status][Discuss]

Description

HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一
段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一
个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答。。。因为项链实在是太长了。于是,他只
好求助睿智的你,来解决这个问题。

Input

第一行:一个整数N,表示项链的长度。 
第二行:N个整数,表示依次表示项链中贝壳的编号(编号为0到1000000之间的整数)。 
第三行:一个整数M,表示HH询问的个数。 
接下来M行:每行两个整数,L和R(1 ≤ L ≤ R ≤ N),表示询问的区间。
N ≤ 50000,M ≤ 200000。

Output

M行,每行一个整数,依次表示询问对应的答案。

Sample Input

6
1 2 3 4 3 5
3
1 2
3 5
2 6

Sample Output

2
2
4

 

解题思路:

莫队裸题,转移的时候判断数字是否唯一即可。

 

AC code:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int MAXN = 5e4+10;
 4 const int MAXU = 1e6+10;
 5 const int MAXQ = 2e5+10;
 6 int N, M, lim;
 7 int sum[MAXU];
 8 int a[MAXN];
 9 int ans[MAXQ];
10 struct Query
11 {
12     int l, r, id;
13 }Q[MAXQ];
14 
15 bool cmp(Query a, Query b){
16     int la = a.l/lim, lb = b.l/lim;
17     if(la != lb) return la < lb;
18     return a.r < b.r;
19 }
20 
21 int Move(int x, int v)
22 {
23     int res = 0;
24     if(v == 1 && sum[a[x]] == 0) res++;
25     if(v == -1 && sum[a[x]] == 1) res--;
26     sum[a[x]]+=v;
27     return res;
28 }
29 
30 int main()
31 {
32     scanf("%d", &N);
33     for(int i = 1; i <= N; i++){
34         scanf("%d", &a[i]);
35     }
36     lim = sqrt(N);
37     scanf("%d", &M);
38     for(int i = 1; i <= M; i++){
39         scanf("%d %d", &Q[i].l, &Q[i].r);
40         Q[i].id = i;
41     }
42 
43     sort(Q+1, Q+1+M, cmp);
44 
45     int cur = 0, L = 1, R = 0;
46     for(int i = 1; i <= M; i++){
47         while(Q[i].l < L) cur+=Move(--L, 1);
48         while(Q[i].l > L) cur+=Move(L++, -1);
49         while(Q[i].r < R) cur+=Move(R--, -1);
50         while(Q[i].r > R) cur+=Move(++R, 1);
51         ans[Q[i].id] = cur;
52     }
53 
54     for(int i = 1; i <= M; i++){
55         printf("%d\n", ans[i]);
56     }
57 
58     return 0;
59 
60 }

 

OpenClaw 在 Windows 环境下的完整安装、配置和部署指南 介绍Windows环境下OpenClaw的完整安装,配置和部署的全流程 阅读详情

相关推荐

Redis 可视化工具 RedisInsight 的保姆级安装以及使用(最新)

Redis 可视化工具 RedisInsight 的保姆级安装以及使用(最新)

一名全栈小白的博客 1万+

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

1878: [SDOI2009]HH的项链 Time Limit: 4 Sec Memory Limit: 64 MB Description HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然...

aiweiluan5095的博客 181

保姆级教程:STK 11.0 从下载到安装成功(附Matlab互联配置与常见问题解决)

本文提供STK 11.0的完整安装指南,包括下载、安装步骤、Matlab互联配置及常见问题解决方案。详细介绍了系统要求核查、分步安装流程、关键文件替换和许可证配置,确保用户能够顺利完成STK 11.0的部署并实现与Matlab的无缝对接。

weixin_30698297的博客 345

Bzoj 1878: [SDOI2009]HH的项链 莫队

1878: [SDOI2009]HH的项链 >原题链接< Description HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一 段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一 个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答。...

dianjia2824的博客 245

OpenCV 开闭运算

开运算和闭运算是将腐蚀和膨胀按照一定的次序进行处理。 但这两者并不是可逆的,即先开后闭并不能得到原来的图像。 开运算 开运算是先腐蚀后膨胀,其作用是:分离物体,消除小区域。特点:消除噪点,去除小的干扰块,而不影响原来的图像。 闭运算 闭运算与开运算相反,是先膨胀后腐蚀,作用是消除/“闭合”物体里面的孔洞,特点:可以填充闭合区域。 cv.morphologyEx(img, op, kernel) img: 要处理的图像 op: 处理方式:若进行开运算,则设为cv.MORPH_OPEN,若进行闭

꧁༺ʚvv༒catɞ༻꧂的博客 949

SSCardDriver.dll社会保障卡读写终端接口规范38号文接口

********************获取设备及PSAM卡信息********************//********************获取银行账户信息 ********************//********************获取设备信息********************//********************PIN校验********************//********************通用写卡********************/

广东东信智能科技有限公司的专栏 1746

BZOJ_1878_[SDOI2009]HH的项链_莫队

BZOJ_1878_[SDOI2009]HH的项链_莫队 Description HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一 段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一 个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答。。。因为项链实在是太长...

90

BZOJ 1878 [SDOI2009]HH的项链 莫队

Description HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一 段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一 个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答。。。因为项链实在是太长了。于是,他只 好求助睿智的你,来解决这个问题。 Input

I'm Growing 479

如何设计ADAS系统功能状态机(一)

状态机模块在自动驾驶系统中扮演着关键的角色,它负责管理和控制各个功能的状态转换和行为执行。今天我们来聊聊如何设计自动驾驶系统的状态机。

supass2018的博客 1617

零基础实战:用 Docker 和 vLLM 本地部署 bge-reranker-v2-m3 重排序模型

本文介绍了如何利用Docker容器和vLLM推理框架在本地部署BAAI开发的bge-reranker-v2-m3文本排序模型。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 5972

BZOJ1878 SDOI2009 HH的项链 【莫队】

BZOJ1878 SDOI2009 HH的项链 Description HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答。。。因为项链实在是太长了。于是,他只好求助睿智...

Dream_maker的博客 237

基于BEV(鸟瞰图)的3D检测:PointPillars与CenterPoint

基于BEV(鸟瞰图)的3D检测:PointPillars与CenterPoint​ ,人工智能,计算机视觉,大模型,AI,本文围绕基于BEV的3D检测,解析了PointPillars与CenterPoint两种算法。PointPillars用点柱特征编码网络处理点云,通过2D卷积网络提取特征,检测头为解耦头;CenterPoint将三维物体表为点,分两阶段检测,先找中心点及属性,再细化预测。两者都可借特定骨干网生成BEV特征图且基于BEV检测,但检测头设计和物体表示方式不同。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 27万+

[bzoj1878][SDOI2009]HH的项链 莫队卡过

Description HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一 段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一 个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答。。。因为项链实在是太长了。于是,他只 好求助睿智的你,来解决这个问题。 Input 第一行...

LvYanchang的博客 223

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

[SDOI2009][bzoj1878] HH的项链 [莫队模板题]

题面: 传送门 思路: 就是一道莫队的模板题目...... 开一个1000000的数组记录每个数出现的次数,然后每次从1到0或者从0到1更新答案 莫队讲解看这里:莫队 Code: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include&...

98

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

BZOJ1878 [SDOI2009]HH的项链 - 莫队

交到洛谷上只有80分。。。 注意初始值 l = 1, r = 0 然后就是修改的部分(revise) 我套用了之前的习惯,直接传值进去,直接f[col]+=k 然后判断是否为1或者0,但是我没有想到1可以是0+1得来也可以是2-1得来 所以想安全一点就写if和else吧。。。有时候真的难以想到这种可能 指针移动的时候注意,每次移动前,l和r所在的点已经被算入答案,如果l现在的点不是所在区...

alc8278的博客 121

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

BZOJ1878: [SDOI2009]HH的项链(莫队)

传送门 题意 给你一个数列,询问(l,r)中不同种类的数的个数。 题解 很经典的莫队算法,这道题可以说是板题了。所谓莫队就是将询问排序,这次的询问部分信息与上次询问一致,来尽量压缩时间,对于一次询问(l1,r1),由上次询问(l2,r2),只需移动|l1-l2|+|r1-r2|步即可。对于这道题,对序列分块进行适当分块,再对于询问(l,r)区间排序可以做到O(nn√)O(n\sqrt{n})的时间复

DZYO的博客 504

【主席树|莫队|离线树状数组】BZOJ1878 [SDOI 2009]HH的项链

题面在这里这道题有三种解法,以下分别介绍(等我A掉会补全)【主席树】关于主席树戳这里造一个lst[i]表示位置i的这个数上一次出现的位置(如果没有就是0) 那么对于每次询问L~R范围里的数字种数 其实就是询问对于L≤i≤RL≤i≤R,满足lst[i]<Llst[i]<L的个数 那么就很好搞了,对lst造N棵值域线段树 询问就直接找到L-1这个位置看它前面有几个 复杂度O(Qlogn)O(Q

linkfqy 1154

[bzoj1878][SDOI2009]HH的项链_莫队

HH 的项链 bzoj-1878 SDOI-2009 题目大意:给定一个n个数的序列。m次询问,每次询问一段区间内数的种类数。 注释:$1\le n\le 5\cdot 10^4$,$1\le m\le 2\cdot 10^5$。 想法:莫队裸题。 左端点按照块编号排序,右端点按照时间戳排序。 然后每次左右指针动的时候记录桶是不是从0变成1或者从1变成0,记得更新答案。 即当前区间...

weixin_30325071的博客 67

内容模式研究:从创作结构到传播交换的算法与人文分析

在数字内容生态中,模式识别是理解信息生产与传播规律的基础。其核心原理在于通过计算分析(如自然语言处理、网络科学)与质性研究相结合,系统性地发现内容在形式、流动与互动中反复出现的结构。这一研究的技术价值在于,它超越了简单的热点追踪,为内容策略、社区运营和推荐系统提供了可解释、可操作的底层洞察。应用场景广泛,例如,通过分析“知识型短视频”的钩子法则与评论区“课代表”总结模式,可以优化创作模板并促进社区知识沉淀。最终,这种对内容创作与交换模式的深入研究,能够帮助我们更清晰地把握数字文化的演变脉络,为构建更健康、更

weixin_30632883的博客 458

【莫队】luogu_1972 BZOJ_1878 [SDOI2009]HH的项链

题意 一个序列,MMM个询问,每次求l∼rl\sim rl∼r之间的权值种类。 思路 莫队算法,将询问分成n\sqrt{n}n​块,对于询问,如果lll在同一个块内,就根据rrr升序排序。 根据这样排序后暴力,时间复杂度可从O(nm)O(nm)O(nm)优化成O(n∗n)O(n*\sqrt{n})O(n∗n​) 最重要的。让我们先谈论右指针。对于每个块,查询是递增的顺序排序,所以右指针(curr...

GOODPLACE 226

【BZOJ 1878】[SDOI2009]HH的项链 莫队

我觉得出题人应该想的是主席树,树状数组什么玩意把,莫队做的话水的要死 #include #include #include #include #include #define maxn 200020 using namespace std; int n,m,a[maxn],block,ans[maxn],pos[50010]; void read(int& x){ x=0;char c=get

pbihao的博客 261
上一篇: BZOJ 4028: [HEOI2015]公约数数列 【分块 + 前缀GCD】
下一篇: Codeforces Round #540 (Div. 3) C. Palindromic Matrix 【暴力】
莜莫oO
博客等级 码龄9年 7粉丝 226原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值