zoukankan      html  css  js  c++  java
  • 简单的算法备忘录,个人总结[长期更新]

    四边形不等式优化

      若$DP(i,j)=max(DP(i,k-1),DP(k,j)+W(i,j))$  其中$i≤k≤j$ ,并记最优的$k$值为$S(i,j)$

      如果$W(i,j)$满足区间包含单调性和四边形不等式,则$DP(i,j)$也满足四边形不等式,

      而如果$DP(i,j)$满足四边形不等式,则$S(i,j)$满足区间包含单调性,即$S(i,j)≤S(i,j+1)≤S(i+1,j+1)$
      则转移方程可以简化为$DP(i,j)=max{DP(i,k-1),DP(k,j)}+W(i,j)(S(i,j-1)≤k≤S(i-1,j+1)$复杂度下降一个阶

    带权并查集

      把当前点和其他点的关系进行路径压缩,转化为和根节点的关系 合并时,修改根节点并更新关系

    强连通分量

      对图进行dfs,当解答树中一个节点所能回溯的最早的访问时间等于自身访问时间,说明为当前强连通分量的根,其后深度优先遍历的所有点皆为一个强连通分量

    割点

      对图进行dfs,当解答树中一个子节点所能回溯的最早访问时间小于等于自身访问时间,该点为一个割点

    树的直径

      在树上任意一点(通常是树根)找最远的一个点,再从最远的点找到它最远的另外一个点,这两个点的路径就是树的一条直径

    $A*$启发式搜索

      用估价函数$F(x)=g(x)+h(x)$对当前局面进行估值,放进优先队列,用$f,g,h$三个价值之一进行排序,每次取出最优值进行BFS

  • 相关阅读:
    ARM处理器
    进程和线程通俗理解
    const与指针
    字符提取命令
    ThinkPHP之视图模版的使用
    ThinkPHP之MVC与URL访问
    ThinkPHP之项目搭建
    android之文件存储和读取
    cryptdb中wrapper.lua的分析
    cryptDB安装分析
  • 原文地址:https://www.cnblogs.com/nervendnig/p/8724199.html
Copyright © 2011-2022 走看看