关于动态规格的新理解
今天又一次听了动态规划,有些许感悟,所以想和大家分享一下
动态规划是什么?
是一种思想,
把问题逐渐变小,使我们通过一个式子就可以推出结果(在递推的基础上)
要点:1.方程式
2边界条件
3.状态之间的联系
分类 1.线性动规
2.背包动规
3.区间动规
4.树形动规
5DAG动规
下面我们分类来讲
1.线性动规
dp[i]表示前i个物品的最优方案
dp[i][0/1]表示前i个物品,其中第i个物品是否被选中,此时的最优方案
dp[i][k]表示前i个物品,选出k个的最优方案
例题:LIS,除了剩下的四种的所有
2.背包动规
dp[i][v]表示前i个物品消耗体积v的最大收益
例题:01,完全,多重,二维,分组
3.区间动规
dp[l][r]表示区间[l,r]的最优答案
l==r有时是边界
dp[l][k]+dp[k+1][r];
4.树形动规
在树上进行动态规划
一般以父子关系为约束
比如:父亲和儿子不能被同时选中
dp[v]表示以v为根节点的子树能获得的最大收益
dp[v][s]表示以v为根节点的子树,s表示节点v是否被选中,此种情况下的最大收益
(有根树和无根树不是一种题)
例题:没有上司的舞会
dp[u][0]=sigma(max(dp[v][0],dp[v][1]))
dp[u][1]=sigma(dp[v][0])+A[u];
5.DAG动规 (有向无环图)
把树形动规扩展到DAG上,就是DAG动规
dp[u]表示以节点U为结尾的路径的答案
例题:DAG最长链
dp[v]表示以节点v为结尾的最长路径
dp[v]=max(dp[u]+w[u][v]|u->v)
先做拓扑排序,按照拓扑排序的顺序进行动态规划
转载于:https://www.cnblogs.com/ZDHYXZ/p/8428076.html
关于动态规格的新理解相关推荐
- CFS调度器的思想的新理解
本文通过详细分析老的调度器来说明cfs的优势.总是新理解新理解的,我怎么这么没完没了啊,其实每隔一段时间我都会在工作之余再读一读linux内核源代码的关键部分,每次读都有新的理解,然后就第一时间将心得 ...
- orcale可视化建立用户_建立动态可视化的新方法
orcale可视化建立用户 by Sushrut Shivaswamy 通过Sushrut Shivaswamy 建立动态可视化的新方法 (A new way of building dynamic ...
- TSYS2.0对动态碎片的一点理解
最近好多人对tsys很感兴趣,其实大家不知道的是tsys的asp版本早就已经停止开发了,为了不想让如此优秀的东西被埋没所以我在tsys的asp版 本的基础上使用PHP重新开发了一个功能更强的cms,名 ...
- JDK 动态代理的简单理解
http://www.cnblogs.com/luotaoyeah/p/3778183.html JDK 动态代理的简单理解 动态代理 代理模式是 Java 中的常用设计模式,代理类通过调用被代理类的 ...
- 动态路由RIP以及理解
动态路由RIP以及理解 相比较于静态路由,动态路由由协议具有更强的可扩展性,具备更强的应变能力.在特定环境中,动态路由协议的配置和参数调整比配置静态路由复杂.网络规模越大,静态路由越无法满足需求,配置 ...
- ###关于k-means的新理解
###关于k-means的新理解 1.k-means++聚类优化算法 若给定足够的迭代次数,k-means算法就能收敛,但是有可能在局部最小值点收敛.k-means收敛局部极值的原因很可能是初始化簇类 ...
- Nginx动态路由的新姿势:使用Go取代lua
导语: 在Nitro 中, 我们需要一款专业的负载均衡器. 经过一番研究之后,Mihai Todor和我使用Go构建了基于Nginx.Redis 协议的路由器解决方案,其中nginx负责所有繁重工作, ...
- Android中对静态壁纸和动态壁纸原理深入理解
本章主要内容: 讨论动态壁纸的实现. 在动态壁纸的基础上讨论静态壁纸的实现. 讨论WMS对壁纸窗口所做的特殊处理. 本章涉及的源代码文件名及位置: WallpaperManagerService.ja ...
- DirectX12(D3D12)基础教程(三)——使用独立堆以“定位方式”创建资源、创建动态采样器、初步理解采取器类型
目录 1.前言 2.显卡架构和存储管理 3.创建默认堆并在其上以"定位方式"创建2D纹理 4.动态采样器 5.完整代码 1.前言 经过了第二部分教程的"折腾"之 ...
- 弹性云服务器的规格系列,新睿云简析云服务器的配置规格怎么选择?
云服务器出现的本质就是解决传统服务器定制困难,耗时时间长.而且升级起来也没有那么方便,当然这对云服务器来说不算什么,用起来自然是简便容易.其云服务器最大的特点就是配置灵活,云服务器有以下主要几个参数. ...
最新文章
- python接收邮件内容启动程序_Python实现发送与接收邮件的方法详解
- Mybatis使用generator自动生成映射配置文件信息
- 多线程(C++)临界区Critical Sections
- hprose java 下载_Hprose Java|Hprose For Java下载v2017.2.0官方版 附使用教程 - 欧普软件下载...
- Code Block 使用笔记(win7、updating)
- mv强制覆盖 shell_一个简单的linux命令 mv
- 【模板】左偏树(可并堆)
- 语法分析器的生成器——Bison
- mysql front登陆1045错误_解决MySQL-Front连接MySQL出现1045错误
- Unity射线检测实例
- 【Unity】打包WebGL项目遇到的问题及解决记录
- 亲测有效,解决C盘空间不足问题
- 他们竟用后台数据偷窥喜欢的女性!
- 华为防火墙虚拟系统间互访
- RISC-V架构中断定义
- 2021-2025年中国物理疗法电子病历和计费软件行业市场供需与战略研究报告
- 《Adobe Illustrator CS5中文版经典教程》—第1课1.5节使用“导航器”面板
- 移动电源解锁亚马逊要做62133和60950测试报告你知道吗?
- Node 之父:Node 失误太多无力回天,Deno 前景明朗
- Java统计学生成绩