![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
DP
那些年走过的dp之路
Coonger
天高人要飞~
展开
-
basic——最长上升子序列(n^2 和nlogn)
最长上升子序列O(n^2)和O(nlogn)学习记录原创 2022-04-27 18:45:32 · 231 阅读 · 0 评论 -
BZOJ1799 self 同类分布 (数位DP)
题意给出a,ba,ba,b,求出[a,b][a,b][a,b]中各位数字之和能整除原数的数的个数。数据范围1≤a≤b≤10181 ≤ a ≤ b ≤ 10^{18}1≤a≤b≤1018思路(数位DP的思想所在,从数字位置出发填坑去判断是否满足条件)这题状态的选取也是很有意思,一般的状态都有当前位pos,前一位pre,原数st,这里数字范围太大了,不能直接做下标,所以考虑了取模状态mod。这里模数(各位之和)肯定要有。问题是模数怎么求得?一开始考虑过最后搜索到叶子的时候,记录原数各位之和,好想原创 2020-07-31 19:11:10 · 150 阅读 · 0 评论 -
洛谷P3146 [USACO16OPEN]248 G(区间DP)
题意:给定1 ~ n个数,每次可以合并相邻两个相同的数字(数值范围1-40),问最大能合出多少?注意合并后的数值并非加倍而是+1,例如2与2合并后的数值为3。数据范围:2<=N<=2482<=N<=2482<=N<=248思路:和石子合并状态选取的区别:石子合并,相邻的堆合二为一是选取 len 长的区间 [l, r],每一次的决策点 k 是取使 d...原创 2020-04-22 23:55:05 · 257 阅读 · 0 评论 -
ZOJ1134——Strategic Game(树形DP入门)
!题意: 给定一颗无向树,每个点只能放一个士兵,问最少要多少士兵能覆盖连接整个城市群的所有边。思路: 明显的求最小顶点覆盖,从图论的角度出发可以用匈牙利匹配。最小顶点覆盖 = 顶点数 - 最大独立集 = 最大匹配这里以树形DP的角度来说作为一道入门...原创 2020-03-22 23:18:56 · 165 阅读 · 0 评论 -
HDU2069, LeetCode322,518 零钱兑换线性DP系列
HDU2069 Coin Change题意:有 [1,5,10,25,50] 五种面值的硬币,所选硬币不限数量,问凑成指定money的种数?思路:乍一眼看和完全背包类似,状态dp[i,j]表示为前 i 种硬币能凑成 j 的种数,但是题目限制了所有加起来硬币的数量不能超过100枚, 每个状态下的硬币数量必会造成影响,所以得改变状态,dp[k,j]表示用了k枚硬币能凑成j的种数。状态转移方程...原创 2020-03-01 22:15:51 · 170 阅读 · 0 评论 -
Leetcode198.House Robber(线性DP),两种角度看状态
题意:给出n个数,不能选取相邻的两个数,问怎么选取才能使和最大?输入:41 2 3 1输出:4输入:52 7 9 3 1输出12a1,a2,a3…ai…an,假设选到前 i 个数,构成的答案集合的情况无非是 选了第 i 个,或是不选第 i 个两种情况。方法一:两种状态分开定义:f[i] 表示不选第 i 个数能达到的最大值, g[i] 表示选第 i 个数能达到的最大值...原创 2020-02-29 18:55:02 · 126 阅读 · 0 评论