算法

什么是线性DP?

什么是线性DP?一、什么是线性?越是基础的概念,越应该有一个透彻的理解,才能对上层问题有直接了当的理解。比如对线性分割器,你对线性有透彻的理解,一看这个名字就大概知道它是怎么回事了。1.几何理解:线性关系就是直线关系……

回文树/回文自动机 (PAM) 实现及模板

回文树/回文自动机 (PAM) 实现及模板咱们可以先从字面意思来理解什么是回文树,回文树(回文自动机)实际上是奇偶两棵树,每一个节点代表一个本质不同的回文子串(一棵树上的串长度全部是奇数,另一棵全部是偶数),原串中每一个本质不同的回文子串都在……

在线算法和离线算法的区别

在线算法和离线算法的区别本章浅谈一下在线算法,当然,说到在线算法会想到离线算法,这两个概念都会提到,帮助大家理解。(一)在线算法在计算机科学中,一个在线算法是指它可以以序列化的方式一个个的处理输入,也就是说在开始时并不需要已……

博弈算法实例详解

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

斯坦纳树的应用

斯坦纳树的应用斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小。1.什么是斯……

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

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

什么是哈希表?

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

什么是动态规划?

什么是动态规划?谈到动态规划,很多人会疑惑动态规划难吗?说实话很难,特别是对于初学者来说,入门动态规划的时候,举个例子,看0-1背包问题,很容易就被题目弄懵了。就算看的懂答案,但就是自己不会做,不知道怎么下手。就像做……

C++标准库中的字符串

C++标准库中的字符串一、C++字符串C++提供了以下两种类型的字符串表示形式:(1)C风格字符串(2)C++引入的string类类型二、C风格字符串C风格的字符串起源于C语言,并在C++中继续得到支持。字符串实际上是使用……

图文解析A*搜索算法

图文解析A*搜索算法A*算法是启发式搜索算法,是根据Dijkstra算法改进而来。一、定义:是一种在图形平面上,对于有多个节点的路径求出最低通过成本的算法。它属于图遍历和最佳优先搜索算法,亦是BFS的改进。二、如何更好的……