摘要: 普通莫队概念 莫队:莫涛队长发明的算法,尊称莫队。其实就是优化的暴力。 普通莫队只兹磁询问不支持修改,是离线的。 莫队的基本思想:就是假定我得到了一个询问区间[l,r]的答案,那么我可以在极短(通常是O(1))的时间复杂度内得到[l+1,r]的答案——于是对于区间查询类的题目,我可以一次性读完所有询 阅读全文
posted @ 2019-07-17 22:01 Rogn 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 概念 分块算法实质上是一种是通过分成多块后在每块上打标记以实现快速区间修改,区间查询的一种算法。其均摊时间复杂度为 $O(\sqrt n)$ 分块的基本思想是通过适当的划分,预处理一部分信息并保存下来,用空间换取时间,达到时空平衡。事实上,分块更接近于“朴素”,效率往往比不上树状数组和线段树,但是它 阅读全文
posted @ 2019-07-17 21:36 Rogn 阅读(953) 评论(0) 推荐(0) 编辑
摘要: 题目 链接 题意:给定一个数X,输出一个等差数列,使得和为X。 分析 由等差数列的定义,可见一个数就是等差数列,两个数也是等差数列 (只能靠做做水题过日子了... 阅读全文
posted @ 2019-07-17 18:43 Rogn 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题目 链接 题意:给出x数列的定义: $T_0 = a$ $T_1 = b$ $T_n = T_{n-2} \bigoplus T_{n-1} $ 求第 $n$ 项( $0 \leqslant a,b,c \leqslant 10^{18} $) 分析 $n$ 这么大,肯定是常数时间复杂度。 打表找 阅读全文
posted @ 2019-07-17 17:39 Rogn 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 题目 链接 题意:在 $10^5 \times 10^5$ 的大网格上,给出 $n$ 的格点的坐标,求联通块数(上下左右及对角线都认为相邻) 分析 DFS需要遍历网格的每个格点,可能会超时? 初始化时,对每个格点建立并查集,遍历每个格点将相邻的合并,最终的集合个数就是联通块的个数。 具体实现时,对 阅读全文
posted @ 2019-07-17 17:10 Rogn 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题目 链接 题意:给定一个字符串 $s$,求不同于 $s$ 的字符串 $t$,使得 $Hash(s) = Hash(t)$,其中 $\displaystyle Hash(s) = \sum_0^{len-1} x_i \times p^i$,$4 \leq p,m \leq 10^9$ 且$m$为质 阅读全文
posted @ 2019-07-17 11:20 Rogn 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 题目 链接 给你一个圆锥(位于坐标原点,告诉你高h 和底面半径 r),和一个点(x,y,z)并告诉你这个点的速度, 让你求点和圆锥相撞的最小时间(保证一定相撞) 分析 易知,将直线的参数方程与圆锥曲面的方程联立,但是可能产生增根,具体情形如下: 其实我们不必区分具体情况,只需交点在曲面上的时间的最小 阅读全文
posted @ 2019-07-17 10:29 Rogn 阅读(331) 评论(0) 推荐(0) 编辑