算法

动态DP实例讲解

动态DP实例讲解一、简介有一类问题,它可以采用DP解决。但是,如果我们加入区间查询,单点修改甚至区间修改,普通DP望尘莫及。于是,动态DP就应运而生了。二、例题例题一:给定一个长度为n的序列,你需要维护两种操作:①查……

数位DP概念和实例讲解

数位DP概念和实例讲解说到数位DP,它主要是用于处理一些与数位有关的问题,主要是计数问题。并且数位DP一直以来是DP家族里比较冷门的一种,但一旦遇上了,如果不会数位DP单纯靠暴力方法很难骗分。一、什么是数位DP?数位DP是……

二分图的最大匹配、完美匹配和匈牙利算法

二分图的最大匹配、完美匹配和匈牙利算法二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不相交集U和V,使得每一条边都分别连接U、V中的顶点。如果存在这样的划分……

什么是Prufer序列?

什么是Prufer序列?Prufer序列可以将一个带标号n个结点的树用[1,n]中的n-2个整数表示。你也可以把它理解为完全图的生成树与数列之间的双射。显然你不会想不开拿这玩意儿去维护树结构。这玩意儿常用组合计数问题上。He……

反演变换的性质

反演变换的性质反演本质上是一种几何变换,常见的几何变换还有平移、旋转、反射……反演变换适用于题目中存在多个圆/直线之间的相切关系的情况。利用反演变换的性质,在反演空间求解问题,可以大幅简……

Python试探算法

Python试探算法        试探算法也称为回溯算法,它实际上是一个类……

什么是数据结构?

什么是数据结构?一、什么是数据结构?数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。结构包括逻辑结构和物理结构。数据的逻辑结构包括4种(1)集合:数据元素之间除了有相……

简述霍夫曼树

简述霍夫曼树1.树的带权路径长度设二叉树具有n个带权叶结点,从根结点到各叶结点的路径长度与相应叶节点权值的乘积之和称为树的带权路径长度(WeightedPathLengthofTree,WPL)。设为二叉树第i个……

图的基础概念

图的基础概念图(Graph)是由顶点和连接顶点的边构成的离散结构。在计算机科学中,图是最灵活的数据结构之一,很多问题都可以使用图模型进行建模求解。图(Graph)通常会放在树(Tree)后面介绍,树可以说是图的特……

什么是跳表?

什么是跳表?跳表是一种数据结构。它使得包含n个元素的有序序列的查找和插入操作的平均时间复杂度都是O(logn),优于数组的O(n)复杂度。快速的查询效果是通过维护一个多层次的链表实现的,且与前一层(下面一层)链表……