什么是Prufer序列? 什么是Prufer序列?Prufer序列可以将一个带标号n个结点的树用[1,n]中的n-2个整数表示。你也可以把它理解为完全图的生成树与数列之间的双射。显然你不会想不开拿这玩意儿去维护树结构。这玩意儿常用组合计数问题上。He…… 图论 2022年02月11日 102 点赞 0 评论 102373 浏览
最小生成树图文讲解 最小生成树图文讲解本篇主要图文讲解最小生成树的实现和算法。一、最小生成树最小生成树(minimumspanningtree)是由n个顶点,n-1条边,将一个连通图连接起来,且使权值最小的结构。最小生成树可以用Prim(…… 图论 2022年01月07日 180 点赞 0 评论 148375 浏览
计数DP实例讲解 计数DP实例讲解本篇主要从计数DP上结合实例分析。一、计数类DP——整数划分整数划分大体上可以分为3类(1)考虑顺序的拆分方案(即1,1,2;和2,1,1是两种不同的方案),这种问题一般转化为…… 动态规划 2022年04月04日 98 点赞 0 评论 61125 浏览
什么是Lyndon分解? 什么是Lyndon分解?我们定义一个串是Lyndon串,当且仅当这个串的最小后缀就是这个串本身。该命题等价于这个串是它的所有循环表示中字典序最小的。引理1:如果u和v都是Lyndon串并且u<v,则uv也是Ly…… 字符串相关 2022年02月28日 69 点赞 0 评论 84613 浏览
快速排序算法C/C++代码图文讲解 快速排序算法C/C++代码图文讲解快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事…… 排序算法 2022年04月24日 84 点赞 0 评论 216666 浏览
递归算法概念与实例讲解 递归算法概念与实例讲解本篇主要是围绕着递归算法的概念、实质、思想以及设计要素四个方向叙述,同时通过实例讲解,促进大家对递归算法的理解。一、算法概念递归算法是一种直接或者间接调用自身函数或者方法的算法。说简单了就是程序自身的…… 算法基础 2022年04月21日 101 点赞 0 评论 76648 浏览
线性(顺序)查找介绍与实现 线性(顺序)查找介绍与实现1.查找算法查找算法是指:从一些数据之中,找到一个特殊的数据的实现方法。查找算法与遍历有极高的相似性,唯一的不同就是查找算法可能并不一定会将每一个数据都进行访问,有些查找算法如二分查找等,并不需要完全…… 查找算法 2022年01月04日 239 点赞 0 评论 109289 浏览
C++字符串常用操作(一) C++字符串常用操作(一)1.基本介绍在程序设计中,字符串操作是必不可缺的,无论是工程设计还是算法设计均离不开字符串,字符串是由一个个单独的字符构成的串,其数据结构是线性的,常以ASCII码表示,同时只要设定得当,其展示任何一…… 串、数组、矩阵和广义表 2022年03月23日 181 点赞 0 评论 90169 浏览
栈的定义和特点 栈的定义和特点数据结构的重要部分,栈,栈是OI中常用的一种线性数据结构,请注意,本文主要讲的是栈这种数据结构,而非程序运行时的系统栈/栈空间,大家一定要弄清晰,别混淆了。栈的定义和特点栈(stack)是一个特殊的线…… 数据结构 2022年02月28日 143 点赞 0 评论 117187 浏览
傅里叶-莫茨金消元法的应用 傅里叶-莫茨金消元法的应用傅里叶-莫茨金消元法的英文名:Fourier-MotzkinElimination,简称FME算法,它是一种用于从线性不等式中消除变量的数学方法。它的命名源自于在1827年和1936年独立发现该算法的…… 数学相关 2022年02月22日 55 点赞 0 评论 74700 浏览