随笔分类 - DP题
摘要:题目链接:2872. 子串分值和 - AcWing题库 题目大意:给一个长度为n的字符串,定义f[a]为字符串a中所有不同元素数量 求该长度为n的字符串的所有子串的 f 总和,即子串分值和 数据范围:1<=n<=1e5 分析: 暴力时间复杂度O(n^2),会超时; 大概思路就是枚举每个点然后到起点的
阅读全文
摘要:题目链接:3417. 砝码称重 - AcWing题库 题目大意:有n个砝码,放在天平两侧,天平左边加重量,右边减重量,问这些砝码能凑出来多少正整数重量。 数据范围:1<=n<=100,这些砝码的总质量m<=1e5 分析: 这是个经典的01背包变形问题。 用闫氏DP分析法: 集合:f [ i ][ j
阅读全文
摘要:题目链接:1078. 旅游规划 - AcWing题库 题目大意: 求一个树上,直径上的所有的点 数据范围:节点n 1<=n<=2e5 范围很大 要求时间复杂度控制在 lnn 以内 分析: 这是一个树形DP,基于树的直径,求树所有直径上的点 整体思路: 1、先通过树形dp求出每个点往下走的最大长度和次
阅读全文
摘要:题目链接:1070. 括号配对 - AcWing题库 题目大意:给一个长度为n的字符串 ,至少添加多少字符能够满足 [ ( ) ] , [ ] ( )这种形式 。 数据范围: 1<=n<=110 分析: 这个题和 1222. 密码脱落 - AcWing题库 很像 不过相比密码脱落的回文串,加了一个条
阅读全文
摘要:题目链接:1226. 包子凑数 - AcWing题库 题目大意:有n层不同的包子,这n层包子的各不形同,每层的数量是无限的 要用这些层包子凑出不同数量的包子数 如果不能凑出的包子数是无数个,就输出INF,如果不是无数个,就输出有限的不能凑出的包子的个数。 数据范围:1<=n<=100 要凑出的总包子
阅读全文
摘要:题目链接:1220. 生命之树 - AcWing题库 题目大意:给n个节点的一颗树,树上的每个节点都有一个权值为w,求这颗树的子数的最大权值和。 数据范围:1<= n <=1e5 w<=1e6 , w有可能是负数 由于数据比较大,可能爆int 要用long long 分析: 这个题要用树形DP,实际
阅读全文
摘要:题目链接:1222. 密码脱落 - AcWing题库 题目大意:有一个字符串s,加入n个字符,使其变成一个回文串,求n的最小值 从当前样子变成初始状态需要添加叶子的数量 等价于 当前样子变成最大的回文串需要剪去的叶子的数量即至少脱落多少个种子 等价于 总数量 - 最大回文子序列的长度 数据范围: 字
阅读全文
摘要:题目链接:1047. 糖果 - AcWing题库 题目大意:有n堆糖果 每堆糖果有一定的数量不为0 求选n堆中任意堆糖果总和的最大值,且最大值是k的倍数 每堆糖果只能用一次。 数据范围:1<=N<=100 1<=K<=100 分析:这是个经典的背包问题 闫氏DP分析法: 集合:f [ i ][ j
阅读全文
摘要:题目链接:1050. 鸣人的影分身 - AcWing题库 题目大意:t组数据,每组数据有个正整数m分成n个非负数的方案 方案中不考虑顺序,例(2,2,3) 和 (2,3,2) 被视为同一种方案 数据范围:0<= t <=20 1<=n,m<=10 分析:这个题数据范围比较小,虽然可以暴力过,但是容易
阅读全文
摘要:题目:1212. 地宫取宝 - AcWing题库 大意描述:有一个 n * m 的矩阵,从左上角到右下角走 ,每经过一个点 ,如果当前位置的宝物价值 大于手里的最大宝物价值 可以选择拿或者不拿 求 当走到右下角的时候 手中的宝物恰好为 k 件的 总方案数量 。 数据范围: 1<=n,m<=50 1<
阅读全文
摘要:题目: 1214. 波动数列 - AcWing题库 题目大意:长度为 n 和为 s 而且后一项总是比前一项增加 a或者减少 b 的整数数列可能有多少种 数据范围: 1<n<1000; -10^9<s<10^9; 1<=a,b<=1e6; 这个题用普通的思维去考虑很难,确实想不到 y总就那么一列 一设
阅读全文