动态规划
文章平均质量分 60
动态规划
xxxalq
I can do all things.
展开
-
洛谷[AT_cf_2015_relay_g]题解
[AT_cf_2015_relay_g]题解原创 2023-07-27 14:46:21 · 398 阅读 · 0 评论 -
二维费用背包
洛谷的运营组决定,如果一名 OIer 向他的教练推荐洛谷,并能够成功的使用(成功使用的定义是:该团队有 2020 个或以上的成员,上传 1010 道以上的私有题目,布置过一次作业并成功举办过一次公开比赛),那么他可以浪费掉 kkksc03 的一些时间的同时消耗掉 kkksc03 的一些金钱以满足自己的一个愿望。既可以是团队内部的私有比赛,也可以公开赛,甚至可以指定谁可以参加比赛。这道题是很明显的 0-1 背包问题,可是不同的是选一个物品会消耗两种价值(经费、时间),只需在状态中增加一维存放第二种价值即可。原创 2022-11-29 20:46:30 · 103 阅读 · 0 评论 -
混合背包问题
题意概要:有 n 种樱花树和长度为 T 的时间,有的樱花树只能看一遍,有的樱花树最多看 Ai 遍,有的樱花树可以看无数遍。每棵樱花树都有一个美学值 Ci,求在 T 的时间内看哪些樱花树能 使美学值最高。这种题目看起来很吓人,可是只要领悟了前面几种背包的中心思想,并将其合并在一起就可以了。混合背包就是将前面三种的背包问题混合起来,有的只能取一次,有的能取无限次,有的只能取k次。由于实际代码量太大,这里就不做展示了,当然量大不代表难。由于非常简单,这里直接给出代码,核心代码在前面几篇博客里都有讲到。原创 2022-11-29 20:26:55 · 121 阅读 · 0 评论 -
多重背包问题
多重背包也是 0-1 背包的一个变式。与 0-1 背包的区别在于每种物品有ki个,而非一个。一个很朴素的想法就是:把「每种物品选ki次」等价转换为「有ki个相同的物品,每个物品选一次」。这样就转换成了一个 0-1 背包模型,套用上文所述的方法就可已解决。状态转移方程如下:时间复杂度。原创 2022-11-20 19:07:44 · 342 阅读 · 0 评论 -
完全背包问题
题意概要:有n种物品和一个容量为w的背包,每种物品有重量wi和价值vi两种属性,要求选若干个物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容量。我们可以借鉴 0-1 背包的思路,进行状态定义:设 fi,j 为只能选前 i 个物品时,容 量为 j 的背包可以达到的最大价值。考虑做一个简单的优化。完全背包模型与 0-1 背包类似,与 0-1 背包的区别仅在于一个物品可以选取无限次,而非仅能选取一次。需要注意的是,虽然定义与 0-1 背包类似,但是其状态转移方程与 0-1 背包并不相同。原创 2022-11-19 00:14:53 · 99 阅读 · 0 评论 -
0-1背包问题
在将什么是0-1背包问题前,先来看下面一道例题:题意概要:有 n 个物品和一个容量为 W 的背包,每个物品有重量w i和价值v i两种属性,要求 选若干物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容量。在上述例题中,由于每个物体只有两种可能的状态(取与不取),对应二进制中 的 0 和 1,这类问题便被称为「0-1 背包问题」。原创 2022-11-16 21:13:27 · 433 阅读 · 0 评论 -
背包dp-前言(这也许是全网最全的背包dp了)
由于动态规划并不是某种具体的算法,而是一种解决特定问题的方法,因此它会出现在各式各样的数据结构中,与之相关的题目种类也更为繁杂。动态规划(Dynamic Programming, DP)是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。以上就是这一期专栏要讲的所有背包dp问题了,这也许是全网最全的背包dp了,如果不全勿喷,请告诉我,我会及时补充。在动“态规划-背包dp”的专栏里,将会分为9个专项来为大家讲解动态规划。在学习背包dp之前,先要知道关于动态规划的一些基础知识。原创 2022-11-15 20:35:56 · 210 阅读 · 0 评论 -
记忆化搜索
记忆化搜索是一种通过记录已经遍历过的状态的信息,从而避免对同一状态重复遍历的搜索实现方式。因为记忆化搜索确保了每个状态只访问一次,它也是一种常见的动态规划实现方式。原创 2022-11-15 20:10:43 · 370 阅读 · 0 评论 -
最长不下降子序列(接上一篇)
接着上一篇讲,这个最长不下降子序列,先给大家看一下题目。给定一个长度为 n 的序列 A(n ≤ 5000),求出一个最长的 A 的子序列,满足该子序列的后一个 元素不小于前一个元素。原创 2022-11-14 20:32:13 · 295 阅读 · 0 评论 -
动态规划基础
本篇博客要介绍了动态规划的基本思想,以及动态规划中状态及状态转移方程的设计思路,帮助各位初学者对动态规划有一个初步的了解。本部分的其他页面,将介绍各种类型问题中动态规划模型的建立方法,以及一些动态规划的优化技巧。原创 2022-11-13 19:55:43 · 268 阅读 · 0 评论