2017国庆郑州集训Day4、5、6

李老师上课根本没法做笔记 所以就三天连起来一起写总结咯

动态规划(DP)

动态规划是noip最重要的知识点之一 刚开始学的时候理解起来有些困难 入门理解请见:
转送们

线性DP复习

LIS

LCS

数字三角形

动态规划思想

三要素:阶段、状态、决策
三前提:子问题重叠性、无后效性、最优子结构性质

动态规划是对问题空间进行的分阶段、有顺序、无重复、决策性的遍历求解类比有向无环图及其拓扑序

例题:

例题

解析:

解析

例题

解析

还有一些例题就不一一列举了 ,大家可以上各种oj上去切

背包问题

背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。(来自百度百科)

简单来说 背包就是DP中比较重要的一个分支

01背包

01背包

完全背包

完全背包

eg:
例题

解析

例题

解析

例题

解析

多重背包

讲解

直接拆分法

二进制拆分法

么么哒

单调队列

eg:

这里写图片描述

啦啦啦

分组背包

描述

伪代码:

memset(f,0xcf,sizeof(f));
f[0]=0;
for(int I= 1;i<=n;++I)
    for(int j=m;j>=0;--j)
        for(int k=1;k<=c[i];++k)
         if(j>=v[I][k])
             f[j]=max(f[j],f[j-v[I][k]]+w[i][k]);

区间DP

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

经典例题:

这里写图片描述

这里写图片描述

计数类DP

这里写图片描述

这里写图片描述

无向连通图计数

这里写图片描述

树形DP

这里写图片描述

这里写图片描述

背包类树形DP

这里写图片描述

这里写图片描述

伪代码(不保证能过):

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

动态规划的优化

优化“阶段” ——倍增优化
优化“状态” ——状态压缩动态规划
优化“转移” ——矩阵乘法加速、数据结构优化、单调队列优化、斜率优化

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

伪代码:
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

DP就像物理中的力学 又重要又难

老师讲DP的时候掉线频繁啊
DP是个好东西 还得自己慢慢啃……

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值