摘要: 深度优先搜索 (Depth First Search) 深度优先搜索也叫深度优先遍历,简称DFS或者深搜。 是基于栈的搜索算法,其过程,是对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。 图解: | 当前访问 | 入栈结点 | 出栈结点 | 栈内结点 | 说明 | | : : 阅读全文
posted @ 2022-07-31 17:21 x_miracle 阅读(162) 评论(0) 推荐(0)
摘要: 01背包 定义:在$M$件物品取出若干件放在空间为$V$的背包里,每件物品的体积为$V_1$,$V_2$至$V_n$,与之相对应的价值为$W_1$,$W_2$至$W_n$。 01背包的约束条件是给定几种物品,每种物品有且只有一个,并且有权值和体积两个属性。 在01背包问题中,因为每种物品只有一个,对 阅读全文
posted @ 2022-07-11 21:48 x_miracle 阅读(182) 评论(0) 推荐(0)
摘要: 按位与 and 或者 & (前者为Pascal,后者位C++,下同) 定义:两者都为1时,结果为1,否则为0。 例:1001 & 1111 = 1001 1101 & 0001 = 0001 用处: and运算通常用于二进制的取位操作。 判断奇偶 例如一个数 and 1的结果就是取二进制的最末位。 阅读全文
posted @ 2022-07-09 11:29 x_miracle 阅读(66) 评论(0) 推荐(0)
摘要: 并查集是一种树型的数据结构, 用于处理一些不相交集合(disjoint sets)的合并及查询问题。 常常在使用中以森林来表示。 朴素: int Find(int x) { if(fat[x]==x) return x;//fat是指父节点 return Find(fat[x]); } void u 阅读全文
posted @ 2020-10-31 17:50 x_miracle 阅读(76) 评论(0) 推荐(0)
摘要: Bellman-Ford Bellman-Ford算法,是单源最短路算法的一种。 与之前的 Dijkstra算法 最大的不同是:Dijkstra算法无法判断含负权边的图的最短路,而Bellman-Ford算法可以处理 存在负权边 的最短路径。 由于Bellman-Ford算法简单地对所有边进行松弛操 阅读全文
posted @ 2020-10-29 17:16 x_miracle 阅读(210) 评论(0) 推荐(0)
摘要: 算法一:朴素法 采用两点逐渐向根移动的方法,求出LCA。 具体步骤: 1.求出每个节点的深度 2.询问两个节点是否重合,若重合,则LCA已经求出。否则,选择两个点中深度较大一个,移动它的父亲。 时间复杂度$O(n)$,查询$q$次的话,复杂度$O(qn)$ 优点:简单,该算法允许树动态改变。 代码如 阅读全文
posted @ 2020-10-24 23:16 x_miracle 阅读(113) 评论(0) 推荐(0)
摘要: 核心算法:差分约束,前缀和 重点:如何灵活构图来应用差分约束算法。 准备工作: 设$x_i$为字符串$S$的子串:$s_1...s_i$中$1$的个数。 (前缀和) 那么$x_i-x_$所表达的含义即为:$S$的子串:$s_{i-L+1}...s_i$中$1$的个数。 (\(L\leq i \leq 阅读全文
posted @ 2020-10-02 20:21 x_miracle 阅读(218) 评论(0) 推荐(0)
摘要: ###观前提示: 建议完成以下题目后在来看此题/题解哦。 P3385 【模板】负环 P5960 【模板】差分约束算法 ###题目分析: 核心算法:差分约束 (这几乎是一道裸题) 题中写道: “不等式形如$T_i-T_j \leq b$代表$i$和$j$的起始时间必须满足的条件。每个不等式的右边都是一 阅读全文
posted @ 2020-10-02 10:30 x_miracle 阅读(123) 评论(0) 推荐(0)
摘要: ###差分约束系统 首先,我们先介绍一下什么是差分约束系统。 定义:如果一个系统由$n$个变量和$m$个约束条件组成,形成$m$个形如$a_i-a_j \leq k$的不等式 。 \(i,j\in \left [ 1,n \right ]\) 且 $k$为常数。 (不绝对,若为$a_i-a_j \g 阅读全文
posted @ 2020-10-01 10:46 x_miracle 阅读(254) 评论(0) 推荐(0)
摘要: 这题是卡特兰数的一道裸题。 利用这一道题介绍一下什么是卡特兰数(Catalan) ###卡特兰数的定义式: $ h_n=\left{\begin 1 & n=1,0 \ \sum_^h_kh_& n> 1 \end\right. $ 由于这个定义式太复杂。平时我们很难用到。 ###卡特兰数的推出式: 阅读全文
posted @ 2020-08-18 17:26 x_miracle 阅读(166) 评论(0) 推荐(0)