算法

树形模拟法的运用(C语言例题讲解)

树形模拟法的运用(C语言例题讲解)1.模拟法简介        在前面的文章已经提到过模拟……

C++STL之List容器

C++STL之List容器1.再谈链表List链表的概念再度出现了,作为线性表的一员,C++的STL提供了快速进行构建的方法,为此,在前文的基础上通过STL进行直接使用,这对于程序设计中快速构建原型是相当有必要的,这里的STL……

简述随机化算法

简述随机化算法本篇将主要讲解随机化算法,在正式进入主题之前,我们先谈谈什么是随机化?随机化是一种可能影响试验结果的无关或可能在试验过程中变化,从而影响到最终结果。随机化算法,是在算法中使用了随机函数,且随机函数的返……

简述最小树形图

简述最小树形图一、什么是最小树形图?就是指有向图上的最小生成树,英文是DirectedMinimumSpanningTree。常用的算法是朱刘算法(也称Edmonds算法),可以在O(nm)时间内解决最小树形图问题……

什么是单调栈?

什么是单调栈?什么是单调栈?有什么好处?就是栈中元素,按递增顺序或者递减顺序排列的时候,单调栈的最大好处就是时间复杂度是线性的,每个元素遍历一次!单调栈是一种数据结构,它里边存放的数据具有单调性,每个元素都只进栈一……

什么是记忆化搜索?

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

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

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

C++代码浅谈IDA*算法

C++代码浅谈IDA*算法本篇简述一下IDA*算法,并列出代码帮助大家理解。(1)算法简介IDA*(IDA*)算法是一种启发式搜索算法,他是采取了迭代加深的A*算法,使用了深度优先搜索的方式。相对于A*算法,IDA*算法主要解……

博弈算法实例详解

博弈算法实例详解1.简介博弈博弈/博弈论,又称为对策论(GameTheory)、赛局理论等,既是现代数学的一个新分支,也是运筹学的一个重要学科。博弈论主要研究公式化了的激励结构间的相互作用,是研究具有斗争或竞争性质现……

简述LGV引理

简述LGV引理LGV引理可以用于在DAG上求解不相交路径方案数问题,下面我们简单介绍一下。一、简介LGV引理英文全称是Lindström–Gessel–Viennotlemma,可……