zoukankan      html  css  js  c++  java
  • 学大伟业 Day 2 培训总结

    一.dp

    动态规划的本质

    是一种思想。通过对原问题划分成子问题,寻找子问题之间的联系,通过求解子问题得出原问题的解。与贪心不同的是,动归是深谋远虑,考虑全局最优解;而贪心则目光短浅,只考虑局部最优解。

    子问题 对应 状态

    子问题之间的联系 对应 状态转移

    边界子问题 对应 边界状态(状态转移的边界)

    边界子问题:其结果不依赖其他子问题

    求解动态规划类题目的要点

    定义状态

    寻找状态转移方程

    边界状态

    值得一提的是 动态规划中边界状态是可以由状态定义轻松得出 边界不能忽略。

    动态规划的分类

    按照常用套路的不同,可以对动态规划进行如下分类:

    一维动规

    背包动规

    区间动规

    树形动规

    DAG动规


    二.搜索

    搜索的重点

    搜索的实现

    剪枝与优化

    盲目搜索与启发式搜索

    盲目搜索(只是搜索的顺序不同):

    深度优先搜索 宽度优先搜索

    启发式搜索:

    A*算法

    dfs

    问题

    1.深度问题

    2.死循环问题

    解决方法

    1.对深度加以限制

    2.记录从初始状态到当前状态的路径

    深度优先搜索的性质

    一般不能保证找到最优解 当深度限制不合理时,可能找不到解,可以将算法改为可变深度限制

    最坏情况时,搜索空间等同于穷举

    是一个通用的与问题无关的方法

    节省内存,只存储从初始节点到当前节点的路径

    bfs

    优先扩展深度浅的节点 通常使用一个队列来实现

    广度优先搜索的性质

    当问题有解时,一定能找到解

    当问题为单位耗散值,且问题有解时,一定能找到最优解

    方法与问题无关,

    效率较低

    存储量比较大

    迭代加深搜索

    解决宽搜内存消耗大和深搜不能保证最优解的问题

    分析:

    宽搜内存消耗大是由于记录了搜索扩展的节点

    深搜不能保证最优解是由于其扩展不是按照代价的顺序扩展的

    所以我们需要:

    不记录所有扩展节点

    按照顺序扩展

    解决办法:

    枚举最大的代价,用深搜判断是否有解

    启发式搜索

    在OI中常常也被称为A*搜索

    关键在于对当前局面作出预估,判断当前局面到目的局面至少还需要多少步

    估价函数:估价函数的好坏决定了A*算法的优劣

    隐约雷鸣,阴霾天空,但盼风雨来,能留你在此。

    隐约雷鸣,阴霾天空,即使天无雨,我亦留此地。

  • 相关阅读:
    SCOI2007 组队
    ZJOI2008 生日聚会
    织梦标签截取指定数目字符
    HTML特殊符号对照表
    DedeCMS让{dede:list}标签支持weight权重排序
    PHP 5.4 中经 htmlspecialchars 转义后的中文字符串为空,DeDeCMS在PHP5.4下编辑器中文不显示问题
    把图文内容载入微应用中
    织梦安装错误
    dedecms创建或修改目录失败
    安装phpmyadmin
  • 原文地址:https://www.cnblogs.com/MisakaAzusa/p/8470129.html
Copyright © 2011-2022 走看看