动态规划(DP)总结

embedded/2024/12/27 9:18:28/

1.动态规划的思想:

        先解决子问题,再逐步解决大问题。多阶段决策问题,求最优的解的思想;

2.应用场景:
        1> 游戏背包问题,采用动态规划的思想来解决;
    

    2>杨辉三角

    3>爬楼梯
    4>斐波那契数列

3.动态规划问题适用的场景:
        多阶段决策,最优解模型(1.最优子结构;2.无后效性;3.重复子问题)
 

4.动态规划解题步骤:
       1>.确定状态转移公式,当前的状态是由前面的状态变化而来的及其相关联的辅助dp数组(db table)以及下标的含义。一般来说,首先要确定dp数组中元素代表的意义,然后在这个意义之下,确定状态是如何在dp数组的元素之间如何变化的。

      2>.初始化dp数组
      3>.根据题目条件确定遍历顺序,并实现状态转移公式。
     
 同时在实现的过程中,可以适当的输出dp数组的值,确定自己的代码实现思路无误。

     
5.动态规划与分治法区别:
   
 都是把一个大问题拆分成多个小问题;
     分治法的小问题是可以独立的,并行计算;


http://www.ppmy.cn/embedded/149138.html

相关文章

JVM的详细介绍

Java 虚拟机(JVM, Java Virtual Machine)是运行 Java 程序的关键组件。它使得 Java 程序可以在任何安装了 JVM 的设备上运行,实现了“一次编写,到处运行”的理念。以下是关于 JVM 的简单介绍,帮助你更好地理解它的功能…

【Kibana01】企业级日志分析系统ELK之Kibana的安装与介绍

Kibana 图形显示 Kibana 介绍 Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作,可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作,您可以很方便的利用 图表、表格及地图…

Day50 图论part01

图论理论基础 大家可以在看图论理论基础的时候,很多内容 看不懂,例如也不知道 看完之后 还是不知道 邻接矩阵,邻接表怎么用, 别着急。 理论基础大家先对各个概念有个印象就好,后面在刷题的过程中,每个知识…

sentinel学习笔记6-限流降级(上)

本文属于sentinel学习笔记系列。网上看到吴就业老师的专栏,写的好值得推荐,我整理的有所删减,推荐看原文。 https://blog.csdn.net/baidu_28523317/category_10400605.html sentinel 实现限流降级、熔断降级、黑白名单限流降级、系统自适应…

Metasploit使用-复现永恒之蓝漏洞

Metasploit使用-复现永恒之蓝漏洞 MSF是渗透测试领域最流行的渗透测试框架,其中msf为总模块,其他均为分支模块。分支模块如下: 辅 助 模 块 (Auxiliary,扫描器),扫描主机系统,寻找可用漏洞; 渗…

Python Polars快速入门指南:LazyFrames

前文已经介绍了Polars的Dataframe, Contexts 和 Expressions,本文继续介绍Polars的惰性API。惰性API是该库最强大的功能之一,使用惰性API可以设定一系列操作,而无需立即运行它们。相反,这些操作被保存为计算图,只在必要…

连通分量分解【东北大学oj数据结构11-4】C++

编写一个程序,读取 SNS(社交网络服务)中的关系,并判断给定的用户对通过网络是否彼此可达。 输入 在第一行,给出了两个整数 n 和 m。 n 是 SNS 中的用户数,m 是 SNS 中的关系数。 SNS 中的用户由编号由 0 ~…

使用TimesFM 对车辆销售进行预测

代码功能概述 导入相关包与设置环境变量: 首先导入了如 os、numpy、pandas 等常用的 Python 库,同时设置了一些与特定库(如 XLA_PYTHON_CLIENT_PREALLOCATE 和 JAX_PM AP_USE_TENSORSTORE)相关的环境变量,用于优化计算…