合集-动态规划

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

点击右上角即可分享
微信分享提示