随笔分类 -  2022-2023古老总结

古老的总结,不一定对
摘要:提高算法总结 - 总索引 I.索引 数据结构进阶 动态规划 图论进阶 基础算法与数学 II.附注 (Empty) 阅读全文
posted @ 2023-07-21 08:16 haozexu 阅读(3) 评论(0) 推荐(0) 编辑
摘要:基础算法与数学总结 【第四部分 数学】 1 质数 定义1.0.1 质数 质数是无法被除了1与它本身的自然数整除的数。 本章略:质数判定、质因数分解(两个都是试除法) 1.1 筛法 当然,筛法可不止用来筛个质数,注意到很多的常用函数都跟质因子有关系,筛法基于累计质因子的方法筛掉合数,累计的时候其实也就 阅读全文
posted @ 2023-07-21 08:10 haozexu 阅读(2) 评论(0) 推荐(0) 编辑
摘要:基础算法与数学总结 【第三部分 搜索】 1 BFS与DFS 搜索的基础应用略。 这里列举几个浅显的概念以及性质,这些会有很多用处: DFS序中一棵子树对应根节点的两次访问中间的区间 树的重心是使得去除后分出的最大一棵子树最小的点,直观理解就是平均分配 BFS基本性质:”两段性“、”单调性“ Topo 阅读全文
posted @ 2023-07-21 08:09 haozexu 阅读(9) 评论(0) 推荐(0) 编辑
摘要:基础算法与数学总结 【第二部分 基础数据结构】 1 栈 别的就不介绍了,至于它可以转化表达式这个大家应该很清楚。 其实本来表达式就是递归定义,而前后缀表达式用从内到外的优先级避免了括号,方便了计算机的处理。 1.1 单调栈 单调栈是利用决策集合的有序性排除无用决策的一种策略。其思想是”抛弃无用,合并 阅读全文
posted @ 2023-07-21 08:08 haozexu 阅读(3) 评论(0) 推荐(0) 编辑
摘要:基础算法与数学总结 【第一部分 基础算法】 本章并非没有很多可讲的,但是限于篇幅,有些本来能提三级标题的内容只能放进列表了列举了。 1 位运算 位运算是计算机进行计算的底层原理,位运算是指计算机对于数据转换为二进制后进行的操作。 这一部分主要是一些技巧,包括: 位运算基本性质 ∀(C)2,∼C=−1 阅读全文
posted @ 2023-07-21 08:08 haozexu 阅读(4) 评论(0) 推荐(0) 编辑
摘要:基础算法与数学总结目录 1. 综述 基础算法是解决问题的基本方法(二分、排序、位运算、前缀和、离散化、ST等)与思想(分治、倍增、贪心、二进制划分等)。 这些算法与思想是构建更高级算法与数据结构的基础,这些高级的东西是通过对于问题的划分、归纳、提取、抽象这些等等来优化遍历状态空间的效率。 数学章节主 阅读全文
posted @ 2023-07-21 08:06 haozexu 阅读(7) 评论(0) 推荐(0) 编辑
摘要:图论进阶总结 【第三部分 Tarjan与连通性】 阅读之前,读者应该很清楚Tarjan算法的实现流程,故不赘述。 1.无向图连通性 在无向图连通性这一方面主要就研究这样几个对象: 连通块 这个可以使用并查集进行维护,不再多说 割边、割点、环、双连通分量 这些就要使用Tarjan算法来求解 所以Tar 阅读全文
posted @ 2023-07-17 15:34 haozexu 阅读(40) 评论(0) 推荐(0) 编辑
摘要:图论进阶总结 【第二部分 树上问题】 1.树的直径 定义:树上两个最远的点之间的路径(或距离)。 当然,当我们关注一个概念的时候,里面的字眼当然是很重要的。就比如”最长“,这说明直径的最长性,这个性质就有可能在许多证明里运用。 怎么求呢? 树形DP 两次DFS(不使用于含负权的图) 这个两次DFS就 阅读全文
posted @ 2023-07-17 15:34 haozexu 阅读(54) 评论(0) 推荐(0) 编辑
摘要:图论进阶总结 【第一部分 最短路和最小生成树】 1.最短路 最短路其实是一个约束系统,这不太明显。但是我们要求一条最短的路径,首先思考如果可以将dist[x]更新dist[y],显然要dist[y]≥dist[x]+edge(x→y)dist[y]\ge dist[x]+edge(x\to y)di 阅读全文
posted @ 2023-07-17 15:34 haozexu 阅读(66) 评论(0) 推荐(0) 编辑
摘要:图论进阶总结目录 1.综述 图论是研究“图”结构的一门学科。让我们先来定义图: 图是一个二元组(V,E)(V,E)(V,E)。其中 VVV 是非空集,称为点集,对于 VVV 中的每个元素,称其为顶点;EEE 为各结点之间边的集合,称为 边集。通俗来讲图就是由若干给定的顶点及连接两顶点的边所构成的图形 阅读全文
posted @ 2023-07-17 15:33 haozexu 阅读(11) 评论(0) 推荐(0) 编辑
摘要:动态规划总结 【分类3-例题】 每一题后面有个小标,可以帮助定位一些东西 1 线性DP 虽然大多数DP都可以叫做线性DP,我们这里只列举几个具有重要意义或者做法巧妙的。 P1006 [NOIP2008 提高组] 传纸条 降维的技巧 这边我们先转化问题,求来回路径其实就是求两条路径,判重也简单,就是如 阅读全文
posted @ 2023-07-11 22:01 haozexu 阅读(8) 评论(0) 推荐(0) 编辑
摘要:动态规划总结【分类2-DP优化】 1 状态压缩 状态压缩,是从状态的表示入手的。在这样的问题中,我们常常可以抽象出一个表示答案必须的内容:一个数组,表示是否走过/当前状态。通常这种数据都只有两种类型。这个时候,就可以看看数据范围,判断是否使用状态压缩。 所以状态压缩省空间,主要是因为本来就没必要开那 阅读全文
posted @ 2023-07-11 22:01 haozexu 阅读(6) 评论(0) 推荐(0) 编辑
摘要:动态规划总结 【分类1-基础模型】 1.线性DP 1.1 综述 线性动态规划问题,就是说每个子问题的阶段以线性方式递推的动态规划问题。 这种问题是动态规划的基础。一般来说,如果不是对状态表示层面开展优化,那么大多数问题都是线性动态规划,故这就成了最基本的动态规划问题。 2.背包DP 好,这个内容已经 阅读全文
posted @ 2023-07-11 22:00 haozexu 阅读(14) 评论(0) 推荐(0) 编辑
摘要:动态规划总结目录 I. 综述 动态规划,常常用以解决最优化或是计数问题。 动态规划更像分治思想,但是又有所不同。它将问题中几个关键的量抽离来代表一个子问题,这是建模(而这些量就是状态)。显然,这些子问题有一个已知答案的边界问题。然后按照一定的顺序遍历状态空间(由“子问题”构成的空间),从以前的子问题 阅读全文
posted @ 2023-07-11 22:00 haozexu 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Problem Lists for data structures 0x41 并查集 P1955 [NOI2015] 程序自动分析 经典 典型应用,维护具有传递性的关系。 P1196 银河英雄传说 边带权 “边带权”的并查集,用于维护更多集合里元素之间的信息,具体做法是假设每条边都有权值,这个权值在 阅读全文
posted @ 2023-07-10 12:23 haozexu 阅读(3) 评论(0) 推荐(0) 编辑
摘要:I.综述 可持久化是一个类别,基础含义就是支持操作历史数据结构版本。 II.起源 但是你不觉得奇怪吗?真的这么简单? 其实它本质上是体现了对序列操作的“循序渐进”。 这是啥意思?就是前面的版本里不含后面的操作造成的影响,后面的版本累计了前面操作造成的所有影响。你觉不觉得这很显然? 没错,挺显然,但是 阅读全文
posted @ 2023-07-09 15:25 haozexu 阅读(22) 评论(0) 推荐(0) 编辑
摘要:I.综述 (挨嗨氦,要写完辣) 那么,这个经常被人打成“淀粉质”的算法,是啥呢? 点分治,就是指,按点分治。 这种算法将树上路径询问问题涉及的路径分为两类: 经过根节点 完全包含于根节点的一棵子树中 显然,第二种可以通过递归又转化为第一种。 所以,将子节点作为子问题,对第一类进行处理即可。 II.起 阅读全文
posted @ 2023-07-09 15:10 haozexu 阅读(4) 评论(0) 推荐(0) 编辑
摘要:I.综述 显然,离线分治就是要先预知初始序列和所有操作才能完成。 离线分治将所有操作放置在时间轴上,并分治地计算所有操作对查询操作造成的影响。 所以就是这样,将一个动态操作问题化为静态问题。 这是CDQ分治 还有一种整体分治,在处理一些与值域有关的问题时,我们试着利用好每一次计算的信息来回答所有询问 阅读全文
posted @ 2023-07-09 14:51 haozexu 阅读(11) 评论(0) 推荐(0) 编辑
摘要:I.综述&解释 平衡树,是非常平衡的树吗? 啊对对对。 平衡,就是指对于每一个节点:它的左右子树大小差不超过1。 当然,我们后来发现除了某些平衡树(e.g. 替罪羊树)之外,其他的都只是做到大致平衡。 II.真·综述 这是一种用来处理元素的前驱、后继,以及处理一些可以自底向上传递数据的结构(FHQ- 阅读全文
posted @ 2023-07-09 13:55 haozexu 阅读(4) 评论(0) 推荐(0) 编辑
摘要:I.综述&解释 自然,分块更加简单直接,就是对数据进行一定划分,对于大块进行维护,不成大块直接朴素。 更加通用,当然也更慢。 II.起源 这同样是要维护一段区间的信息。 我们牺牲了更多的效率,预处理一部分信息保存,这样我们尽可能地提高信息的使用率(尽管没有前两者高),但是更接近朴素,这就意味着更加通 阅读全文
posted @ 2023-07-09 11:55 haozexu 阅读(14) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示