算法

什么是AC自动机?

什么是AC自动机? AC自动机,我知道很多人看到这个会十分好奇,不过这个自动机它又叫做Automaton。我相信大家在初学自动机相关内容时,许多人难以建立对自动机的初步印象,尤其是在自学的时侯。让我们切入正题,通过这段时……

字典树(trie)/前缀树(Prefix Tree)实例讲解

字典树(trie)/前缀树(Prefix Tree)实例讲解对于字典树/前缀树可能大部分情况很难直观或者有接触的体验,尤其是对前缀这个玩意没啥概念,可能做题遇到前缀问题也是使用暴力匹配蒙混过关,如果字符串比较少使用哈希表等结构可能也能蒙混过关,但如果字符串比较……

什么是哈希表?

什么是哈希表?很多人说起“哈希表”,就会直接聚焦到hash函数、“散列”、“杂凑”等方向,会使得初学者一头雾水,反而更加不理解什么,下面就会系……

希尔排序算法实例详解

希尔排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2) 稳定性:不稳定排序2.过程介绍希尔排序,又名递减增量排序算法,是一种非稳定的更高效的插……

什么是概率DP?

什么是概率DP?一、概率DP顾名思义,概率DP就是动态规划求概率的问题。一般来说,我们将dp数组存放的数据定义为到达此状态的概率,那么我们初值设置就是所有初始状态概率为1,最终答案就是终末状态dp值了。我们在进行状态……

C/C++如何加速输入输出效率(下)

C/C++如何加速输入输出效率(下)1.简介自上一篇文章,我们了解了解除绑定的输入输出流,这会让我们的代码输出变得迅速,然而,对于输入而言,亦有快速读取这一个更优秀的方案(相对来说也较为麻烦)。在我们学习C语言的时候,我们曾经学过字符的……

枚举算法的思想与实例讲解

枚举算法的思想与实例讲解枚举算法是我们在日常中使用到的最多的一个算法,本篇将会介绍枚举算法的思想与实例讲解,在使用频率上,枚举算法在蓝桥杯比赛里用的次数非常多,所以需要在平时多练习做题,毕竟实践检验真理,毕竟枚举在考试中出现……

状态压缩DP图文实例讲解(一)

状态压缩DP图文实例讲解(一)动态规划算法的过程是随着阶段的增长,在每个状态维度上的分界点组成了DP拓展的轮廓。对于某些问题,我们需要在动态规划的状态中记录一个集合,保存这个轮廓的详细信息,以便于进行状态转移。若集合大小不超过N,……

快速排序算法实例详解

快速排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(nlogn)平均情况:O(nlogn) 稳定性:不稳定排序2.过程介绍快速排序是考察次数最多的排序,无论是在大学专……

什么是记忆化搜索?

什么是记忆化搜索?首先大家要知道,记忆化搜索是动态规划的入门。什么是记忆化搜索?搜索的低效在于没有能够很好地处理重叠子问题;动态规划虽然比较好地处理了重叠子问题,但是在有些拓扑关系比较复杂的题目面前,又显得无奈。记忆化……