合集-动态规划
摘要:一.线性DP 所谓线性DP,就是说它的动态转移方程是线性的。 线性DP有三个经典的例题,如下: 1. LIS (Longest Increasing Subsequence,最长上升子序列)问题 问题描述:给定一个长度为 的数列 ,求数值单调递增的子序列的最大长度是多少。\(A
阅读全文
摘要: :概念 状压 DP 是动态规划的一种,通过将状态压缩为整数来达到优化转移的目的。 简单说来,就是我们通过普通的状态表示无法直接推出状态转移方程了,这时候将当前状态拓展的“轮廓”作为状态表示的一维,而考虑到空间复杂度和计算机原理
阅读全文
摘要:1.01背包 有 件物品和一个容量是 的背包。每件物品只能使用一次。 第 件物品的体积是 ,价值是 。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 思维导图: 状态表示:\(f[i]
阅读全文
摘要: 状态机介绍 百度百科 简单来说,状态机就是一个数学模型,不是一个实际的机器。它含有几个状态,还有几个函数(或者通俗一点叫“桥梁”),使得这几种状态可以在一定条件下实现相互转化。 是不是和动态规划的状态转移过程很像? 所以有一类型的动态规划题目,它的状态可以在一定的
阅读全文
摘要:题目大意 求 中有多少个数在十进制表示下数码和是 的倍数。 数据范围: 。 思路 很明显的数位 dp。 这里采用了记忆化搜索来实现数位 dp。 记忆化搜索实现比较板子,不光写起来比较简单,而且
阅读全文
摘要:题目传送门 题目大意 给定一个 的网格,求用 和 的长方形去铺满它有多少种方案。 数据范围: 。 思路: 考虑怎么放才能刚好填满网格。 可以想到,如果先放横着的,再放竖着的,那么当我们将横着的
阅读全文
摘要:简介 数位 dp 解决的是与数字有关的一类计数问题,在求解过程中常把一个数字的每一位都拆开来看,比如十进制下就是把千位、百位、十位、个位上的数字都拆开来看,其他进制类比十进制。 数位 dp 的问题一般比较显眼,有几个常见形式: 要求统计满足一定条件的数的数量(即,最终目的为计数); 这些条件经过转化
阅读全文
摘要:更好的阅读体验 用记忆化搜索写数位 dp 真的很好写! 题目传送门 题目大意: 组数据,每次询问第 个含有至少 个连续 的数是什么。 思路: 考虑数位 dp。 一般数位 dp 问题有两种常见形式: 询问 内有多少个符合条件的数;
阅读全文
摘要:题目传送门 题目大意: 给定一个长度为 且只含 的字符串 ,求出所有长度为 的,只含 且不含 字符串的数量,结果对 取模。 数据范围:\(n\le 10^9,m\le 20,k\le 100
阅读全文
摘要:1. 概念 单调队列优化的本质是借助单调性,及时排除不可能的决策,保持候选集合的秩序性。 2. 例题 P1714 切蛋糕 题目大意: 给定一个序列,找出长度不超过 的连续子序列,使得子序列中所有数的和最大。 思路: 要求区间和,首先求出前缀和,然后考虑朴素 dp,不难想到用 \(dp[i
阅读全文
摘要:题目传送门 分享一下我做这道题是的心路历程。 首先感觉像是贪心,但是随便举了几个例子就推翻了,发现无论是先删掉 值小的,还是先删掉靠前且数值大的都不行。 策略的选择如此复杂,考虑 dp。 其实很容易就能发现数据范围的异样: ,这告诉我们操作 最多只
阅读全文
摘要: 前言 本篇文章主要记录笔者 NOIP 冲刺阶段复习的各种 dp 题型及 tricks ans tips,同时也用于及时复习与巩固。 那么,开始吧。 线性 dp 线性 dp 对我来说是一类很捉摸不定的题型:她太综合了,可以和任何知
阅读全文
摘要:题目传送门 题目大意: 给定一颗无根树,有一个节点是源点,度数为 的点是汇点,树上的边有最大流量。除源点和汇点外,其它点不储存水,即流入该点的水量之和等于从该点流出的水量之和。整个水系的流量定义为原点单位时间内能发出的水量。 现在需要求出:在流量不超过最大流量的前提下,选取哪个点作为源点
阅读全文