算法
树链剖分解决什么问题?
树链剖分解决什么问题?一、什么是树链剖分什么是树链剖分?它可以把树分成若干条链,从而维护树上的路径信息。本质思想是把树剖成可以用线性结构存储的结构,然后可以数据结构维护。分为三种:重链剖分、长链剖分、实链剖分。以下以重链剖……
DP优化(一)单调队列/单调栈优化实例讲解
DP优化(一)单调队列/单调栈优化实例讲解一、什么是单调栈和单调队列?(1)单调栈从名字上就听的出来,单调栈中存放的数据应该是严格单调有序的,具有以下两个性质。1.满足从栈顶到栈底的元素具有严格的单调递增或单调递减性;2.满足栈的后进先出特性……
基数排序算法C/C++代码图文讲解
基数排序算法C/C++代码图文讲解基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。(1)……
二分答案算法实例讲解
二分答案算法实例讲解本篇内容讲解二分答案,并通过实例分析和解决问题,在一些解题中,二分答案往往在一个单调闭区间上进行,也就是说,二分答案最后得到的答案应该是一个确定值,而不是像搜索那样出现多解的情况。那么什么时候适用二分……
树的遍历之先序遍历二叉树
树的遍历之先序遍历二叉树1.遍历简介:树作为非线性数据结构,在我们取出数据时就需要设计遍历,所谓遍历,就是按照一定的规则性,将数据结构中的所有数据全部依次访问,而二叉树本身并不具有天然的全局次序,故为实现遍历,需通过在各节点……
简单选择排序算法实例详解
简单选择排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(1)      &……
网络流常用小技巧拆点
网络流常用小技巧拆点拆点是一种图论建模思想,常用于网络流,用来处理点权或者点的流量限制的问题,也常用于分层图。一、什么是拆点?什么是拆点?拆点就是将一个点拆成入点和出点两个点,并在两个点之间建一条边。为什么要拆点?拆点是……