DP专题(补题&好题)
文章平均质量分 69
Joanh_Lan
喜爱编程的菜菜,现学习算法与工程课。热爱code,喜欢分享个人学习经验与解题!
展开
-
Codeforces Round #590 (Div. 3) - F . Yet Another Substring Reverse (1234F) -- SOS DP 问题
给你一个字符串str, 你可以选取一个str子串将其旋转形成新的str, 问最后str的所有子串中 没有重复字母的最长子串长度。原创 2023-05-08 17:59:27 · 165 阅读 · 2 评论 -
HDU - 4734 -- F(x)
数位DP原创 2023-04-14 18:00:17 · 342 阅读 · 0 评论 -
POJ - 2282 The Counting Problem(数位DP 计数问题)
数位DP -- 计数问题原创 2023-04-13 17:35:42 · 389 阅读 · 0 评论 -
HDU - 3555 Bomb(数位DP)
我的方法是直接统计符合题意的个数,具体请参考下面的代码。原创 2023-04-12 17:02:53 · 546 阅读 · 0 评论 -
HDU - 2089 不要62(数位DP)
杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。原创 2023-04-12 11:14:41 · 441 阅读 · 0 评论 -
第十三届蓝桥杯省赛C++ A组 爬树的甲壳虫(简单概率DP)
dp[i]表示从树根到第i层的期望。原创 2023-03-07 16:42:24 · 1386 阅读 · 0 评论 -
#20988. 平均数值(DP)
前iii个数中,选jjj个数,和是kkk。原创 2023-02-27 21:29:56 · 106 阅读 · 0 评论 -
左孩子右兄弟(贪心 & 树形DP)][十二届蓝桥杯省赛第一场C++A/C组,第十二届蓝桥杯省赛第一场JAVAA/C组]
ans_{MAX} = 最深子树的高度 + 其孩子的数量原创 2023-01-19 11:36:14 · 130 阅读 · 0 评论 -
鸣人的影分身(动态规划 | DP | 整数划分模型)[《信息学奥赛一本通》]
dp[i][j]长度为 j, 和为 i 的方案数。整数划分模型原创 2023-01-14 23:14:50 · 487 阅读 · 0 评论 -
密码脱落(区间DP)[第七届蓝桥杯省赛C++A/C组,第七届蓝桥杯省赛JAVAC组]
经典区间dp问题dp[l][r] 在 l 到 r 区间 最长回文串的长度。原创 2023-01-14 22:45:13 · 288 阅读 · 0 评论 -
糖果(动态规划 | 01背包问题)[《信息学奥赛一本通》]
dp[i][j] 在前 i 个物品上选,余数是 j 的最大糖果和。原创 2023-01-14 22:21:03 · 262 阅读 · 0 评论 -
生命之树(简单的树形DP)[第六届蓝桥杯省赛C++B组,第六届蓝桥杯省赛JAVAB组]
我们用递归的思想去求解dp[x] 是以 x(一定包含 x 节点) 节点开始可以得到的最大评分dp[x] += max(0, dp[it]), it 是 x 的子节点原创 2023-01-14 22:08:49 · 274 阅读 · 0 评论 -
糖果(状压DP)[第十届蓝桥杯省赛C++A组,第十届蓝桥杯省赛JAVAA组]
顺序枚举每一包糖果,然后枚举每一个状态,然后用糖果的状态去获得新状态,并且更新状态里的最少包数。原创 2023-01-13 19:44:40 · 174 阅读 · 0 评论 -
4700. 何以包邮?(简单的dp & 01背包思想)
dpxdp[x]dpx如果dpx1dp[x] = 1dpx1代表我们可以凑出来xxx如果dpx0dp[x] = 0dpx0代表我们不能凑出来xxx。原创 2023-01-13 12:13:11 · 876 阅读 · 0 评论 -
1212. 地宫取宝(动态规划)
f[i][j][num][v][i,j]位置取了num个物品 当前物品最大值为vf[i][j][num][v]+=f[i−1][j][num][v]+f[i][j−1][num][v]如果w[i][j]是[i,j]位置物品的价值−1。原创 2023-01-01 22:22:23 · 200 阅读 · 2 评论 -
1214. 波动数列(推公式 + DP)
我们可以设: 第一个数为xx+d1,x+d1+d)2… …x+d1+d2+......+dn−1根据题意和上面的式子n∗x+(n−1)∗d1+(n−2)∗d2+......+dn−1=s我们可以解出xx=ns−[(n−1)∗d1+(n−2)∗d2+......+dn−1)]。原创 2023-01-01 21:15:25 · 844 阅读 · 0 评论 -
Max Sum Plus Plus(DP 滚动数组优化)[HDU - 1024]
我们可以滚动数组优化一下,把这个 记录成。个物品, 我们可以将它分到 第。个物品, 我们分成题目要求的。组中, 或者分到新的一组中。原创 2022-12-26 19:37:01 · 440 阅读 · 0 评论 -
A - No Majority(DP 动态规划)[AtCoder Grand Contest 060]
对于一个子串, 如果长度为len, 如果该子串中任意一个字符的出现个数 大于2len那该字符串为Ungood串反之,如果任意子串, 长度设为len, 如果该子串中任意一个字符的出现个数 小于等于2len, 那该字符串为Good串核心:如果一个子串有字符超过一半,那肯定可以找到一个长度≤3的子串满足字符超过一半。我们可以用 DP(动态规划) 的思想去写dp[i][j][k],i位置,i位置字符为j,i−1。原创 2022-12-26 13:03:32 · 494 阅读 · 0 评论 -
C. Planar Reflections
我们可以通过图解发现:可以递推找到答案了我们约定:dp[i][j]dp[i][j]dp[i][j]第 iii 个板, 衰变年龄为jjj 的答案是 dp[i][j]dp[i][j]dp[i][j]我们通过图解找到转移方程:dp[i][j]=dp[i−1][j]+dp[n−i][j−1]dp[i][j] = dp[i - 1][j] + dp[n - i][j - 1]dp[i][j]=dp[i−1][j]+dp[n−i][j−1]dp[i][j]dp[i][j]dp[i][j] 的答案数等于:由在穿原创 2022-12-05 23:37:35 · 248 阅读 · 0 评论 -
2021“MINIEYE杯”中国大学生算法设计超级联赛(10)Pty loves lines(动态规划 | DP)
给你n条直线保证:没有三条线共享一个共同点,并且没有线是重合的。问你:所有可能交叉点的数量解决这个问题的前提需能解决两个问题直接的最关键的差别是n的大小我们先去分析 HUD1466n≤20dp[i,j]ijkidp[i,j]∣=dp[i−k,j−(i−k)×k]i−k(i−k)∗k。原创 2022-11-29 16:40:35 · 465 阅读 · 0 评论 -
E - Throwing the Die(期望DP)[AtCoder Beginner Contest 266]
dp[i]+=max(dp[i−1],j∗1.0)/6.0i是轮数,j是骰子的点数。注:我们要求得是最大分数的期望, 并不是分数的期望, 所以我们需要取max。原创 2022-11-16 22:04:42 · 230 阅读 · 0 评论 -
D - Snuke Panic (1D)(DP)[ AtCoder Beginner Contest 266]
【代码】D - Snuke Panic (1D)(DP)[ AtCoder Beginner Contest 266]原创 2022-11-16 20:31:26 · 156 阅读 · 0 评论 -
F - Erase Subarrays(DP)[AtCoder Beginner Contest 275]
其余状态初试为:0x3f3f3f3f。原创 2022-11-16 10:32:48 · 153 阅读 · 0 评论 -
E - Sugoroku 4(期望DP)[AtCoder Beginner Contest 275]
【代码】E - Sugoroku 4(期望DP)[AtCoder Beginner Contest 275]原创 2022-11-15 21:35:29 · 274 阅读 · 0 评论 -
石子合并板子【区间DP】(普通石子合并 & 环形石子合并)
在一个操场上摆放着一排 NNN 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的 222 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将 NNN 堆石子合并成一堆的最小得分。第一行一个整数 NNN。接下来 NNN 行,第 iii 行一个整数 aia_iai,代表第 iii 堆石子的石子数。输出将所有石子合并为一堆的最小得分。环形石子合并[NOI1995] 石子合并题目描述在一个圆形操场的四周摆放 NNN 堆石子,现要将石子有次序地合并成一堆,规定每次原创 2022-06-30 10:45:31 · 118 阅读 · 0 评论 -
【模板】最长公共子序列 (【DP or 贪心】板子)
给出 1,2,…,n1,2,\ldots,n1,2,…,n 的两个排列 P1P_1P1 和 P2P_2P2 ,求它们的最长公共子序列。第一行是一个数 nnn。接下来两行,每行为 nnn 个数,为自然数 1,2,…,n1,2,\ldots,n1,2,…,n 的一个排列。一个数,即最长公共子序列的长度。...原创 2022-06-29 21:41:41 · 304 阅读 · 0 评论 -
L3-020 至多删三个字符 (30 分) DP
给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串?输入格式:输入在一行中给出全部由小写英文字母组成的、长度在区间 [4,106] 内的字符串。输出格式:在一行中输出至多删掉其中 3 个字符后不同字符串的个数。输入样例:ababcc输出样例:25提示:删掉 0 个字符得到 "ababcc"。删掉 1 个字符得到 "babcc", "aabcc", "abbcc", "abacc" 和 "ababc"。..原创 2022-03-30 11:32:02 · 1387 阅读 · 0 评论