摘要:
Update 2022/2/3:感谢 @aresword 大佬的建议,对文章中一个不严谨但是能过题的地方进行修改。 这是一道数学题。 前置知识: 对于一个数 \(x\),我们可以将其唯一分解成 \(p_1^{c_1} \times p_2^{c_2} \times ... \times p_k^{c 阅读全文
摘要:
1.概述 KMP 算法是一种字符串算法,具体解决的问题为字符串匹配问题: 给出一个模式串 \(t\),文本串 \(s\),请问 \(t\) 是否为 \(s\) 的字串 / \(t\) 在 \(s\) 中出现了几次等等问题。 后文中无特殊说明,\(n\) 为文本串 \(s\) 的长度,\(m\) 为模 阅读全文
摘要:
1.概述 康托展开,是全排列问题中常用的一种算法。 康托展开:已知一个 \(n\) 阶全排列 \(a\),求出这是第几个全排列(按照字典序排序)。 2.实现 例题 康托展开的公式:\(a_1 \times (n - 1)! + a_2 \times (n - 2)! +...+ a_{n - 1} 阅读全文
摘要:
这道题是一道二维 LIS 问题。 我们知道,一维的 LIS 有 \(O(n^2)\) 和 \(O(n \log n)\) 两种解法。考虑到这道题要输出方案,而且 \(1 \leq n \leq 5000\),那么在这道二维的 LIS 问题当中我们可以使用 \(O(n^2)\) 的算法来解决这道题。 阅读全文
摘要:
这道题有一点思考难度,需要根据题意与样例来思考。 首先我们考虑 \(a_i\) 在几次之后会降为 0。 接下来的分析只考虑这个柱子上面被摧毁的情况,不考虑左右的柱子高度为 0 的影响。 如果 \(a_i \leq a_{i - 1}\) 且 \(a_i \leq a_{i + 1}\),那么只有最上 阅读全文
摘要:
这道题看似可以线段树乱搞,但是真正用线段树就会发现根本没有用。 因此我们考虑根号算法。 难道是分块?错!还有一种根号算法——根号分治。 根号分治的思想就是设定阈值 \(S\) ,大于阈值的暴力计算,小于阈值的快速计算,而取 \(S = \sqrt n\) 时最优(不要问我怎么证明)。 那么这道题,我 阅读全文
摘要:
这道题好像很烦,我第一眼看过去确实没有任何思路。 但是仔细分析题目后,我们会发现: \(c=1\) 时,答案为 0,但是好像没有这个点? \(c > n\) 时,答案为序列总和。 \(c = n\) 时,答案为序列总和减去最小值。 \(1 < c < n\) 且 \(n < 2 \times c\) 阅读全文
摘要:
看到长这样的题目,显然是莫队板子题。 但是不知道为什么很多人写的都是 \(2 \times cnt_x + 1\) 之类的?好像直接先减再加不就好了?公式都不用推。 注意指针顺序以及 long long。 目前 CF 的机子上已经不需要用 %l64d 输出 long long,直接 %lld 输出即 阅读全文
摘要:
这道题给各位一种与之前不一样的做法。 首先显然可以使用并查集维护连通块个数,但是我们知道并查集 不支持删除,而题目是 区间询问,所以: 不支持删除+区间询问=回滚莫队! 所以这道题可以用回滚莫队通过,没学过的可以看看 这篇博文。 那么对于这题,取块长 \(block = n^{\frac{2}{3} 阅读全文
摘要:
一些 update udpate 2021/1/17:修正了文章中的一些不影响理解的语文问题。 update 2021/1/25:加入 Splay 的代码简化。 1.概述 在 数据结构专题-学习笔记:无旋平衡树(替罪羊树,fhq Treap) 中我们着重讲解了两种无旋平衡树:替罪羊树,FHQ Tre 阅读全文
摘要:
update update on 2022/10/28:发现文中对引用的描述不是很准确,但是比较多也不想改了,大家忽略引用就好。 1.概述 平衡树,是一种高级数据结构,是基于二叉查找树的一种数据结构。 对二叉查找树不理解的读者这里有一个作者的简单总结: 对于一棵二叉查找树(又名 BST): 这是一棵 阅读全文
摘要:
一些 update update 2021/1/2:加入代码解释。 update 2021/1/13:发现『2.3 左旋』图片有重大失误,现在已经更正,对各位读者带来的不便深表歉意。 1.概述 树旋转,是 AVL 树和 Splay 等平衡树控制平衡的一种办法,同时也在别的领域有着重要的应用。 那么什 阅读全文
摘要:
线段树好题。 首先,如果做过 P4145 上帝造题的七分钟2 / 花神游历各国 ,那么这道题还是十分好想的。 我们需要意识到一个问题:对于 \(1,2\) 这两个数而言,我们对它们修改是没有意义的,\(1\) 还是 \(1\),\(2\) 还是 \(2\)。 那么我们再想想,对于 \(a_i\) 几 阅读全文