该文被密码保护。 阅读全文
posted @ 2020-12-01 19:42 ZTer 阅读(9) 评论(0) 推荐(0) 编辑
摘要: Day 0 中午从济南出发,因为疫情原因,只能自驾。 坐了3个小时车(听了3个小时歌),到了日照,母后的老同学请我们吃饭,但是因为嫌吵,我就先行告退回酒店了 本来想复习一下各类算法的,但是想想明天估计也就是暴力暴力暴力,索性玩了3个小时中国式家长,然后到头闷睡 Day 1 因为S组是下午考,所以早上 阅读全文
posted @ 2020-11-08 09:16 ZTer 阅读(105) 评论(0) 推荐(1) 编辑
摘要: Part 1:什么是Trie树 ~~当然叫它Trie(踹)树不是让你真的去踹它~~ Trie;,又称单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。 它的本质是一棵$k$叉树($k$取决于构成字符串的字符种类) Part 2:Trie树建立和查询 T 阅读全文
posted @ 2020-09-13 01:20 ZTer 阅读(338) 评论(2) 推荐(2) 编辑
摘要: Part 1:关于贪心与数据结构 一个贪心算法的本质是:不断做出当前情况的最优解,最终可以得到全局最优解 只要这个问题的阶段决策满足上述要求,就可以使用贪心法求解 所以,我们要使得当前阶段决策最优,通常会用到“最值”,即可做出的选择中,最好的那一个 于是,数据结构应运而生,它可以很好的帮助我们维护一 阅读全文
posted @ 2020-09-12 19:40 ZTer 阅读(274) 评论(0) 推荐(0) 编辑
摘要: Part 1 普通并查集与基本优化 并查集能干什么? 并查集,顾名思义,其实就是维护了所有元素中每一个元素的所属集合是谁 譬如设序列$a=${1,2,3,4,5},假设1,2属于一个集合,3,4属于一个集合,5自己一个集合 那么这个序列就可以表示成这样:{{1,2},{3,4}{5}},其中属于一个 阅读全文
posted @ 2020-09-12 18:19 ZTer 阅读(162) 评论(0) 推荐(0) 编辑
摘要: “如果一个人比你年轻还比你强,那你就要被踢出去了……”——单调队列 “来来来,神犇巨佬、金牌\(Au\)爷、\(AKer\)站在最上面,蒟蒻都靠下站!!!”——优先队列 Part 1:单调队列 单调队列的功能 顾名思义,所谓单调队列,那么其中的元素从队头到队尾一定要具有单调性(单调升、单调降等) 它 阅读全文
posted @ 2020-08-25 21:57 ZTer 阅读(1743) 评论(3) 推荐(10) 编辑
摘要: Part 1:简单总结分治应用 分治算法不是一种固定的算法,确切的说,它是一种思想 总结一下几种常用的分治算法 ##二分法求解 ###注意事项 二分法在之前的分治博客中已经提到过了,这里仅作简单的补充描述 首先,二分法在求最优解问题上有广泛的应用,如果一个题目提到了“存在多个答案输出最优解”,那么有 阅读全文
posted @ 2020-08-25 14:45 ZTer 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 吐槽:严格次小生成树我调了将近10个小时……(虽然有3个小时的电竞时间 Part 1:最小生成树$Kruskal$算法 前言 介于我们之前已经讨论过最小生成树的定义和$Prim$算法了,这次我们直奔主题——$Kruskal$算法 $Kruskal$算法工作方式 还是老样子,我们抛开正确性不谈,只谈算 阅读全文
posted @ 2020-08-25 00:39 ZTer 阅读(1358) 评论(1) 推荐(2) 编辑
摘要: 最小生成树$Prim$算法 我们通常求最小生成树有两种常见的算法——$Prim$和$Kruskal$算法,今天先总结最小生成树概念和比较简单的$Prim$算法 ##Part 1:最小生成树基础理论 ###定义 一个有 \(n\) 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 \(n 阅读全文
posted @ 2020-08-14 01:42 ZTer 阅读(783) 评论(0) 推荐(0) 编辑
摘要: #Part 1:了解LCA \(LCA\)(Least Common Ancestors),中文翻译是“最近公共祖先” (原图来自洛谷) 对于给定的一棵树和这棵树的树根(如上图) 给定两个节点,他们的最近公共祖先(以下简称$LCA$)就是这两个点分别到树根的简单路径中经过的所有点的交集中,深度最深的 阅读全文
posted @ 2020-08-08 21:33 ZTer 阅读(144) 评论(0) 推荐(0) 编辑