摘要: 1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时 阅读全文
posted @ 2022-10-06 16:40 「ycw123」 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 主席树的定义与作用 主席树,也称可持久化线段树(主席树为什么叫主席树?据说因为它是一个名字缩写为 $HJT$ 的神犇发明的,与当时主席的名字缩写一样......) 什么是可持久化线段树呢,即为一颗记录了所有更新过程的线段树。能够处理出从第 $i$ 次更新到第 $j$ 次更新的线段树变化。 前置知识 阅读全文
posted @ 2022-10-06 16:38 「ycw123」 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 在二叉树中,有两组非常重要的性质。第一种是“堆性质”,即每个节点的值都比他的左右子节点的值更优。第二种就是“BST性质”,就是每个节点的值大于左子树上所有节点的值,小于右子树上所有节点的值。它是二叉查找树以及所有平衡树的基础。 二叉查找树(BST) BST的建立 为了避免越界,一般在BST中先插入一 阅读全文
posted @ 2022-10-06 16:37 「ycw123」 阅读(60) 评论(0) 推荐(0) 编辑
摘要: ~~已经快被这玩意搞疯了~~ $\mathcal O(n^3)$ 做法 解析:$f[i][j]$ 表示以 $b[j]$ 结尾,字符串 $a[i]$ 之前的公共上升子序列最大长度; 显然:$f[i−1][j] \leq f[i][j]$ 递推: $a[i]!=b[j]$:$f[i][j] = f[i− 阅读全文
posted @ 2022-10-06 16:36 「ycw123」 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 最长公共子序列 给定两个长度分别为 $n,m$ 的序列 试求出最长的公共子序列。 $\mathcal O(n^2)$ 做法 我们考虑进行动态规划 设 $f[i][j]$ 表示看完 $a$ 数组的前 $i$ 位,$b$ 数组的前 $j$ 位的最长公共子序列的长度 那么我们最终的答案就是 $f[n][m 阅读全文
posted @ 2022-10-06 16:36 「ycw123」 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 最长上升子序列 1、$n^2$ 做法 首先我们要知道,对于每一个元素来说,最长上升子序列就是其本身。那我们便可以维护一个 $dp$ 数组,使得 $dp[i]$ 表示以第 $i$ 元素为结尾的最长上升子序列长度,那么对于每一个 $dp[i]$ 而言,初始值即为 1; 那么 $dp$ 数组怎么求呢?我们 阅读全文
posted @ 2022-10-06 16:35 「ycw123」 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 群 群的定义 定义集合 $\rm G$ 和作用与集合 $\rm G$ 的二元运算 $\times$ 若其满足以下 4 个性质,则称其为一个群$( Group)$,记为 $(~G,\times~)$: 封闭性 $(\sf Closure)$ 若存在 $a$ 和 $b$ 满足 $a\in G,b\in 阅读全文
posted @ 2022-10-06 16:35 「ycw123」 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 1、问题类型描述 差分约束是一种特殊的 $n$ 元一次不等式组,它包含 $n$ 个变量 $x_1,x_2,\cdots x_n$ 以及 $m$ 个约束条件。 每个约束条件是由两个其中的变量做差构成的,形如 $x_i-x_j \le c_k$,其中 $ i \not= j, ; 1 \le k \le 阅读全文
posted @ 2022-10-06 16:34 「ycw123」 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 网络流是算法竞赛中的一个重要的模型,它分为两部分:网络和流。 网络,其实就是一张有向图,其上的边权称为容量。额外地,它拥有一个源点和汇点。 流,顾名思义,就像水流或电流,也具有它们的性质。如果把网络想象成一个自来水管道网络,那流就是其中流动的水。每条边上的流不能超过它的容量,并且对于除了源点和汇点外 阅读全文
posted @ 2022-10-06 16:33 「ycw123」 阅读(141) 评论(0) 推荐(1) 编辑
摘要: Description 若对于除首尾位置之外的元素,每一个位置要么比两侧相邻的数字小,要么比两侧相邻的数字大,则称这样的数组为波浪数组 现在有一个长度为 $n$ 的数组,你每次操作可以将任意一个位置的数字修改成任意一个新数字。 求将其变成一个波浪数组所需的最小修改次数 Solution 首先,对于一 阅读全文
posted @ 2022-10-06 16:32 「ycw123」 阅读(224) 评论(0) 推荐(0) 编辑