例1 SDOI2009 HH的项链 题目大意:给定序列, 询问一个区间内不同颜色种数 1. 裸莫队, 奇偶分块优化 #include <iostream> #include <algorithm> #include <math.h> #define REP(i,a,n) for(int i=a;i< ...
分类:
其他好文 时间:
2019-01-07 22:37:17
阅读次数:
233
题意: 给定序列, 每次询问一个区间[l,r], 问[l,r]中最多能选多少个数且每种数字不超过k 相当于加强版 HH的项链, 对于一个数t, 主席树维护上k次出现的位置pre[t], 每次查询相当于求区间内pre<左端点的总数 ...
分类:
其他好文 时间:
2019-01-04 01:19:40
阅读次数:
195
题目背景 无 题目描述 HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答… ...
分类:
编程语言 时间:
2018-12-29 19:41:30
阅读次数:
186
题目描述 题解: 对于所有n串建广义后缀自动机。 (广义后缀自动机唯一区别就是每次将las附成1,并不需要在插入时特判) 建完后再建出parent树,然后用dfs序+树状数组搞区间不同种类。 其实就是HH的项链+广义后缀自动机。很水的。(虽然我调了半个晚上) 代码: ...
分类:
其他好文 时间:
2018-12-10 21:55:47
阅读次数:
246
"原题传送门" 莫队入门题 "我博客里对莫队的介绍" 很多人说这题卡莫队,但窝随便写了一个程序就过了qaq~~(虽说开了氧化)~~ 我们在排序询问时,普通是这样qaq 剩下我们就按照莫队的板子模拟就行啦qaq 完整代码: cpp pragma GCC optimize("O3") include d ...
分类:
其他好文 时间:
2018-11-22 21:41:50
阅读次数:
124
链接:https://www.luogu.org/problemnew/show/P1972 好题 last数组是本题的关键. last数组是一个链表,链接上一个相同颜色的位置. 考虑如何操作. 用树状数组维护. 树状数组p[i]表示第i个位置的值(值代表这个颜色是否有效) 先把操作离线下来(经典操 ...
分类:
其他好文 时间:
2018-11-07 20:02:09
阅读次数:
174
这道题在线不好做,但是可以离线...... 就是把所有的询问都读进来,按照r排序, 扫描原序列,并且记录这种颜色上一次出现的位置, 这样每次add(i,1) add(last[val[i]],-1) (last[val[i]]!=0) 如果是一个询问的左端点,就利用树状数组的前缀和进行统计 这道题不 ...
分类:
其他好文 时间:
2018-11-03 17:30:49
阅读次数:
160
分析: 题目描述不说了,大意是,求一段区间内不同元素的种数。 看到区间,我们大概先想到的是暴力(然后炸掉)、线段树、树状数组、分块。 下面给出的是一种树状数组的想法。 首先,对于每一段区间里的数,如果出现重复的元素,我们只需要看最后一个就好了。所以,我们可以对所有需要查询区间的右端点进行从小到大的排 ...
分类:
其他好文 时间:
2018-10-28 11:14:42
阅读次数:
143
题目描述 HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答……因为项链实在 ...
分类:
其他好文 时间:
2018-10-17 00:13:45
阅读次数:
150
题目大意:给你一个序列,求出指定区间的(l<=i<=r) mod 1000777 的值 还复习了欧拉函数以及线性筛逆元 考虑欧拉函数的的性质,(l<=i<=r),等价于 (p[j]是区间内所有出现过的质数) 那么考虑找出区间内所有出现过的质数,这思路和HH的项链是不是很像?? 由于此题强制在线,所以 ...
分类:
其他好文 时间:
2018-09-24 23:27:29
阅读次数:
383