![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 89
Wangduoyu
这个作者很懒,什么都没留下…
展开
-
【DP学习总结】树形DP
文章目录【例题1】没有上司的舞会【例题2】Strategic game【例题3】选课【例题4】有依赖的背包问题本文参照:OI Wiki 树形DP树形DP,顾名思义就是在树上进行的DP。我把它分为两类,1. 有根树, 2. 无根树有根树又分为两种,一种是普通的DP,一种是树上背包DP。接下来,就来以此介绍【例题1】没有上司的舞会题目链接:P1352题意: 有编号为1∼N1 \sim N1∼N的NNN个职员,他们之间的关系就是一棵有根树,父节点是子节点的上司。他们将要举办舞会,每个人都有一个开心值v原创 2022-04-08 15:11:22 · 444 阅读 · 0 评论 -
【DP学习总结】区间DP
文章目录前言例题例题【1】石子合并例题【2】回文子序列小结例题【3】环形石子合并(破环成链)例题【4】多边形前言区间dp,顾名思义,是解决一类区间问题的动态规划。通常用来f[l][r]f[l][r]f[l][r]来表示区间[L,R][L, R][L,R]上的最优解。主要难在对于状态的转移。区间dp有迭代和递归两种写法,而递归写法就是一个记忆化搜索。通用模板for (int len = 1; len <= n; len ++) { 枚举长度 for (int l = 1; l +原创 2022-04-03 15:59:14 · 833 阅读 · 0 评论 -
【DP学习总结】数位DP
文章目录求【L,R】区间满足某种性质数的个数不要62windy数花神的数论题Beautiful numbers求【L,R】区间满足某种性质数的平方和,立方和恨7不成妻不要666升级版求【L,R】区间满足某种性质数的个数模板:int dfs(int pos, int pre, int lead, int limit){ if(!pos) { 边界 } if(!limit && !lead && dp[pos][pre] != -1) return dp[p原创 2021-12-10 17:30:50 · 439 阅读 · 0 评论 -
【DP学习总结】状态机模型
文章目录股票买卖DP+KMP设计密码题意:solution:codeDP+AC自动机文本生成器题意:solution:code:修复DNA题意:solution:code:与矩阵快速幂的结合GT考试股票买卖DP+KMP设计密码题目链接:Acwing 1052题意:你现在需要设计一个密码 SSS,SSS 需要满足:SSS 的长度是 NNN;SSS 只包含小写英文字母;SSS 不包含子串 TTT;请问共有多少种不同的密码满足要求?答案对1e9+71e9+71e9+7取模对于此题,有原创 2021-12-10 13:55:57 · 385 阅读 · 0 评论 -
【DP学习总结】背包例题
文章目录1. Steadily Growing Steam题意:solution:Code:2. 选数题意:solution:Code:1. Steadily Growing Steam题目链接:2021上海区域赛 I题题意:有NNN个物品,每个物品的体积为tit_iti,价值为viv_ivi。在选择物品之前,你可以选择0∼k0 \sim k0∼k个物品的体积翻倍,然后需要在这NNN个物品中选出若干个物品分成AAA,BBB两堆,使得这AAA和BBB的体积相同,并且价值之和最大。求这个价值的最原创 2021-12-09 20:56:13 · 598 阅读 · 0 评论 -
【DP学习总结】背包九讲(模型)
文章目录01背包完全背包多重背包混合背包分组背包二维费用背包有依赖的背包背包问题求具体方案背包问题求具体方案数01背包问题描述:有NNN件物品和一个容量为VVV的背包。第iii件物品的体积是v[i]v[i]v[i],价值是w[i]w[i]w[i]。求解将哪些物品装入背包可使价值总和最大。思路:01背包的特点:每件物品可以选择放或者不放。状态表示:f[i][j]f[i][j]f[i][j]表示前iii个物品,容量不超过jjj的所有方案数中价值的最大值状态计算:不选:f[i][j]=f[i−1]原创 2021-12-09 15:00:24 · 804 阅读 · 0 评论 -
【DP学习总结】LIS和LCS
文章目录最长公共子序列最长上升子序列最大上升子序列和例题1. 最长公共子序列(模板)题意:solution:Code:例题2. 合唱队形题意:solution:code:例题3. 友好城市题意:solution:code:例题4.最长公共子序列子序列允许不连续。定义:最长公共子序列,英文缩写为LCSLCSLCS(Longest Common Subsequence)。其定义是,一个序列 SSS ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 SSS 称为已知序列的最原创 2021-12-08 17:30:21 · 412 阅读 · 0 评论 -
【DP学习总结】数字三角形模型
DP1原创 2021-12-07 20:21:12 · 605 阅读 · 2 评论 -
DP学习笔记
文章目录记忆化搜索背包**一.01背包Easy\color{green}{Easy}Easy**二.完全背包Easy\color{green}{Easy}Easy三.多重背包Mid\color{orange}{Mid}Mid四.分组背包Easy\color{green}{Easy}Easy线性DP[数字三角形Easy\color{green}{Easy}Easy](https://www.acwing.com/problem/content/900/)[最长上升子序列LISMid\color{orange}原创 2021-08-13 10:02:14 · 365 阅读 · 0 评论 -
【DP学习总结】
好好学DP原创 2021-12-07 18:24:44 · 225 阅读 · 0 评论