计算几何: 半平面交、三维计算几何 字符串 后缀大家族(后缀自动机、后缀数组、后缀树、后缀平衡树…) manacher 数据结构 启发式合并、可持久化 莫队(树上莫队、带修改莫队) Splay、替罪羊树、动态树、点分治 数学 洲阁筛、杜教筛 动态规划 数据结构优化、决策单调性(分治决策)、斜率优化 ...
分类:
其他好文 时间:
2018-02-13 17:55:40
阅读次数:
146
已知: $n(10 ^ 5) $ ? $\left\{ a_i \right\}(10 ^ 5)$ ? $t(10 ^ 5)$ 条件: 区间 $[l, r]$ 求: 不同数个数 思考每个细节,我能想到这些东西: 多组询问 —— 离线,在线 区间 $[l, r]$ —— 莫队 ? 移动 $r$ ,维护 ...
分类:
其他好文 时间:
2018-02-13 13:29:56
阅读次数:
116
思路挺简单的,但是总感觉好难写...码力还是差劲,最后写出来也挺丑的 这题显然是个莫队题,考虑怎么转移和询问... 根据莫队修改多查询少的特点,一般用修改快查询慢的分块来维护。查第$k_1$小的出现次数可以用权值分块做到$O(1)$修改,$O(\sqrt{n})$查询,$k_2$小的数同理。对于每一 ...
分类:
其他好文 时间:
2018-02-12 21:39:19
阅读次数:
178
【题意】给定n个数字ai,每次询问一个区间中随机抽选两个数字,数字相同的概率,以分数最简形式输出。n,ai<=50000。 【算法】莫队算法 【题解】参考:莫队……讲稿? by Foreseeable 使用莫队算法的关键在于维护区间信息的增减。 对于区间[L,R],令其中数字i的出现次数为xi,则a ...
分类:
其他好文 时间:
2018-02-12 20:06:34
阅读次数:
165
题目链接 数列查找 考虑分块然后跑莫队, 设$c[i]$为$i$在当前维护的区间内出现的次数, $g[i]$为在当前维护的区间内有多少个数出现次数为$i$, $bg[i]$把出现次数分块,$bg[i]$的意义是第$i$个块代表的所有出现次数中出现的个数。 $f[i][j]$对$1$到$n$分块,意义 ...
分类:
编程语言 时间:
2018-02-10 11:14:58
阅读次数:
169
闲话 莫队算法似乎还是需要一点分块思想的。。。。。。于是我就先来搞分块啦! 膜拜hzwer学长神犇%%%Orz 这九道题,每一道都堪称经典,强力打Call! "点这里进入" 算法简述 持续更新中。。。。。。 题目列表 持续更新中。。。。。。 ...
分类:
其他好文 时间:
2018-02-09 23:51:08
阅读次数:
229
我对莫队算法最为纠结的地方就是区间端点处,应该是像代码里那样理解吧 cnt[i]表示i出现的次数 maxn开2e6比较保险 ...
分类:
其他好文 时间:
2018-02-08 00:32:49
阅读次数:
143
题目 分析 莫队也能做,但我想练练主席树。 求k-th一样维护第i个时候的线段树,线段树来维护区间不同数。 然后查询时可以通过上下界小优化一波。 但是我的代码丑陋无比,常数巨大(捂脸 代码 #include <bits/stdc++.h> using namespace std; const int ...
分类:
其他好文 时间:
2018-02-04 12:45:35
阅读次数:
313
嗯,我们已经能通过莫队处理查询线性结构上的查询了。 但是,这怎么能够呢= = 现在的题里面基本上都要牵扯上修改操作啊。。。 比如动不动就会出一个“把节点x的值修改为y的操作”。。。 而我们知道,莫队是离线算法,要把所有操作都读进来,那么修改操作就会对后面的查询操作造成影响。。 如何消除这种影响呢? ...
分类:
编程语言 时间:
2018-02-04 11:21:32
阅读次数:
253