题意 给出长度为 \(n\) 的序列,\(m\) 次询问,每次给出 \(l,r,a,b\) ,表示询问区间 \([l,r]\) 中,权值在 \([a,b]\) 范围的数的种类数. \(n\leq 10^5,m\leq m\leq 10^6, a\leq b\leq n\). 分析 直接莫队+树状数组的复杂度是 \(O(m\sqrt n\ logn)\). 把树状数组改成分块,这样查询的时间是 \(O(\sqrt n)\) ,但是修改是 \(O(1)\) 的. 总时间复杂度为 \(O(m\sqrt…
3809: Gty的二逼妹子序列 Time Limit: 35 Sec  Memory Limit: 28 MBSubmit: 868  Solved: 234[Submit][Status][Discuss] Description Autumn和Bakser又在研究Gty的妹子序列了!但他们遇到了一个难题.   对于一段妹子们,他们想让你帮忙求出这之内美丽度∈[a,b]的妹子的美丽度的种类数.   为了方便,我们规定妹子们的美丽度全都在[1,n]中.   给定一个长度为n(1<=n<=10…
题目描述 给你一个长度为\(n\)的数列,还有\(m\)个询问,对于每个询问\((l,r,a,b)\),输出区间\([l,r]\)有多少范围在\([a,b]\)的权值. \(n\leq 100000,m\leq 1000000\) 题外话 Q:这道题和BZOJ3809有什么区别呢? A:卡空间. 题解 考虑莫队. 每次转移时如果用树状数组很明显会TLE.所以要分块. 每\(\sqrt n\)个数分一块.这样转移是\(O(1)\)的,查询是\(O(\sqrt n)\)的. 时间复杂度:\(O(n\…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3809 据说一开始应该想到莫队+树状数组,然而我想的却是莫队+权值线段树... 如果用权值线段树,则修改和查询都是 O(logn),总复杂度 O(n√nlogn),艰难...(而且仔细一看空间有点卡?) 看了TJ,才发现权值也可以分块,则查询 O(√n) 但修改 O(1),就可以过咯~ 代码如下: #include<iostream> #include<cstdio> #inc…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3809 容易想到树状数组维护值域.但修改和查询都是 log 太慢. 考虑有 nsqrt(n) 个修改.m个查询,所以给查询 sqrt(n) ,给修改 O(1) .对值域分块即可.(msqrt(n)也能过?) #include<iostream> #include<cstdio> #include<cstring> #include<algorithm>…
---题面--- 题解: 题目要求统计一个区间内数值在[a, b]内的数的个数和种数,而这个是可以用树状数组统计出来的,所以可以考虑莫队. 考虑区间[l, r]转移到[l, r + 1],那么对于维护个数的树状数组就直接加即可. 对于维护种数的树状数组,我们额外维护一个数组num,表示数a在区间内出现了多少次,如果是新出现的,那么就加入树状数组. 如果要删除一个数并且这个数在区间内只出现了一次,那么就删除这个数.注意不论什么情况都要实时维护num数组. 然后莫队即可. Gty的二逼妹子序列是洛谷…
Description Autumn和Bakser又在研究Gty的妹子序列了!但他们遇到了一个难题. 对于一段妹子们,他们想让你帮忙求出这之内美丽度∈[a,b]的妹子的美丽度的种类数. 为了方便,我们规定妹子们的美丽度全都在[1,n]中. 给定一个长度为n(1<=n<=100000)的正整数序列s(1<=si<=n),对于m(1<=m<=1000000)次询问“l,r,a,b”,每次输出sl...sr中,权值∈[a,b]的权值的种类数. Input 第一行包括两个整数n…
[bzoj3809]Gty的二逼妹子序列/[bzoj3236][Ahoi2013]作业 bzoj   bzoj 题目大意:一个序列,m个询问在$[l,r]$区间的$[x,y]$范围内的数的个数/种类. 思路: 因为看不出来怎么做,所以考虑莫队. 太懒想写个树状数组但是$n\sqrt{n}log_{n}$太虚 所以将数分块,修改$O(1)$,查询$O(\sqrt{n})$ 完结 1 #include<algorithm> 2 #include<cstdio> 3 #include&l…
Gty的二逼妹子序列 bzoj-3809 题目大意:给定一个n个正整数的序列,m次询问.每次询问一个区间$l_i$到$r_i$中,权值在$a_i$到$b_i$之间的数有多少个. 注释:$1\le n\le 10^5$,$1\le m\le 10^6$. 想法:说实话没想到分块和莫队. 考虑莫队如何处理旁区间:我们将值域分块. 每个块就存一下当前区间在这个块内有多少个值.特殊的是这个不是随时维护答案,是在区间刚好等于询问区间的时候处理. 莫队的时间复杂度是$O(n\sqrt{m})$:另外每次询问…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3809 https://lydsy.com/JudgeOnline/problem.php?id=3236 几乎是双倍经验. 题解 对于第一道题目: 如果没有 \(a, b\) 这个区间的限制,那么这道题就是 bzoj1878 [SDOI2009]HH的项链. 这道题虽然有 \(log\) 的做法,不过很多人应该都是拿这道题作为莫队的入门题的. 考虑如果带上范围限制怎么做. 一种显然的做法就是…