dp

语戚1 天前
java·算法·leetcode·动态规划·力扣·dp
力扣 1621. 大小为K的不重叠线段的数目:动态规划(Java 实现)LeetCode 1621 大小为 K 的不重叠线段的数目是计数动态规划的经典标杆题,也是面试中考察状态定义、前缀和优化以及组合计数能力的核心考点。这道题的核心是破解 “在数轴上选出恰好 k 条不重叠线段,统计全部合法方案数量” 的问题,题目要求对结果取模,涉及大数下的计数运算。
Tisfy2 天前
动态规划·题解·dp·滑动窗口
LeetCode 1477.找两个和为目标值且不重叠的子数组:滑动窗口 + 记录前值(动态规划)力扣题目链接:https://leetcode.cn/problems/find-two-non-overlapping-sub-arrays-each-with-target-sum/
Tisfy4 天前
动态规划·字符串·题解·贪心·dp·回文字符串
LeetCode 2472.不重叠回文子字符串的最大数目:动态规划(贪心)力扣题目链接:https://leetcode.cn/problems/maximum-number-of-non-overlapping-palindrome-substrings/
a1879272183112 天前
算法·leetcode·动态规划·dp·01背包·算法讲解·决策合并
【算法】动态规划第四篇:背包收官——min 哨兵、计数世界与组合排列分水岭DP 系列第四篇,背包三课的后两讲。LC322 零钱兑换(最值背包):一次翻出三个缺口——min 合并被赋值覆盖吃掉(覆盖病第三案)、哨兵 -1 在 min 世界传染(-1+1=0 冒充最优解,实测算出比数学下界还小的答案 15 < 20)、+dp[c] 的巧合依赖;沉淀出哨兵配对原则的进阶版:min 世界的哨兵必须"大而无害"。LC518 零钱兑换 II(计数背包):卡壳三弯——种子 dp[0]=1(空集是凑 0 元的唯一方式)、+ 合并(四族合并符集齐)、正序(0-1 背包的倒序惯性不能带来完全背包)
a1879272183113 天前
算法·leetcode·动态规划·贪心·dp·暴力·算法讲解
【算法】动态规划第三篇:背包第一课——贪心之死与正序倒序开关DP 系列第三篇,第 3 级背包开篇。一道「分割等和子集」(LC416),走完了四个版本的完整弧线:贪心版(自己造反例亲手击毙)→ 回溯版(正确,但 25 个元素实测 3300 万次调用)→ 二维 bool 背包(target 错、种子缺、返回格子错,三 bug 一堂课)→ 一维滚动(正序陷阱 + 赋值覆盖,两个坑一次踩完)。沉淀出背包世界的四块拼图:转化(target = sum/2)、种子(dp[i][0] = true)、或族合并(max/min/|| 三族集齐)、以及最值钱的一块——正序倒序开关(
a1879272183113 天前
算法·leetcode·动态规划·dp·区间·区间dp·算法讲解
【算法】动态规划第五篇:区间 DP——从“看什么都像背包“到“最后戳谁“DP 系列第五篇,第 4 级区间 DP 两课全记录。LC516 最长回文子序列:开局把区间题误判成 0-1 背包(刚考完背包的范式惯性),自己爬出来后四要素(区间定义 / 两端转移 / 计算顺序 / 右上角答案)全部自推成功,卡在一个 j 的下标语义错位(1..n vs 0..n-1)上 panic 现场被抓——手推表和代码必须严格同构的教训落地。LC312 戳气球(hard,区间 DP 天花板):排列/组合的背包语言整体失效(所有气球都要戳光,没有子集自由度);钥匙是盯"最后戳破的气球 k"而不是"最先
a1879272183113 天前
算法·leetcode·动态规划·dp·回溯·暴力·算法讲解
【算法】动态规划第二篇:双序列 DP 三课——继承、计步与断链DP 第一篇(打家劫舍三版演化 → 最大子数组 → LIS)收官在一维。这一篇进二维双序列,一天三题:最长公共子序列(LC1143)→ 编辑距离(LC72)→ 最长重复子数组(LC718)。三题骨架相同(dp[i][j] 看两处末尾),灵魂各异:LCS 是继承型(不等时 max 搬运)、编辑距离是计步型(三操作各消一个末尾)、子数组是断链型(不等归零)。踩的坑包括:两个 bug 互相抵消的测试陷阱、dp[0][0] 的语义漂移、“结尾限定型"的惯性误用、手推表"结果对过程错”、以及 go1.21 内建 m
a1879272183115 天前
算法·leetcode·动态规划·dp·回溯·暴力
【算法】动态规划入门:从打家劫舍到状态设计的三堂课回溯学完之后,我进了动态规划(DP)的坑。这篇文章记录 DP 第 1 级(一维 DP)的完整学习过程:从「打家劫舍」的三版演化链(回溯暴力 → 记忆化递归 → DP 数组)开始,看 DP 如何从回溯里一步步"长"出来;再到「最大子数组和」学习状态定义的限定词技巧,到「最长递增子序列」补上前驱枚举。每个坑都有错误代码、实测数据(4831 万次调用 vs 71 次、全 0 数组上 435 万次 vs 61 次)和修正方案。适合刚学完回溯、准备进 DP 的人对照着少走弯路。
Yzzz-F22 天前
c++·算法·dp
CF2023DTags:题解:这个题目的问题可以转化为:选择一个子集 ,最大化他的贡献: E=(∑iwi)∏ipi100 E=(\sum_{i}w_i) \prod_{i}\frac{pi}{100} E=(i∑wi)i∏100pi
初夏睡觉1 个月前
c++·算法·dp·oi·信息学·原创题目·值得挑战的题目
原创题目 - 空壳恋爱何度でも好き貯金崩しちゃうのよ() 大大大大恋愛の経費 膨れちゃうダミー ねえまけて ばかばかまたあたしATM ——《Dummy Romance》deco*27
hansang_IR1 个月前
c++·算法·动态规划·dp
【题解】[COCI 2024/2025 #2] 流明 / BlistavostP11432 [COCI 2024/2025 #2] 流明 / Blistavost - 洛谷 (luogu.com.cn)
汉克老师2 个月前
c++·预处理·dp·取模·gesp7级·数学规律·对数
GESP2026年3月认证C++七级( 第三部分编程题(1、拆分))精讲目标:不急着讲代码,让学生自己发现规律。故事导入:国王说:我有一个数字 N。你必须把它拆成几个正整数。
吞下星星的少年·-·2 个月前
算法·dp
牛客技能树:小红走矩阵(dp入门)题目链接:https://www.nowcoder.com/practice/1ae49fb83b3f404f89dc0933bb8a0694?channelPut=tracker3
hansang_IR2 个月前
c++·算法·dp
【题解】[AGC020E] Encoding Subsetshttps://www.luogu.com.cn/problem/AT_agc020_e不知道怎么评到紫的。最多绿。
闪电悠米2 个月前
算法·leetcode·动态规划·dp·hot100
力扣hot100-53.最大子数组和-动态规划详解LeetCode 53「最大子数组和」要求:关键词是:例如:最大和来自:它的和是:所以答案是:最直接的想法是枚举每一个连续子数组,再计算其和。
硕风和炜2 个月前
java·算法·leetcode·动态规划·dp·记忆化搜索
【LeetCode: 1301. 最大得分的路径数目 + DP】🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎 🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻 🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯
Token炼金师2 个月前
人工智能·深度学习·dp·sp·pp·zero·tp
算力显存通信的三角博弈:DP/TP/PP/SP、ZeRO、混合精度与稳定性 —— 训练优化四件套大模型训练优化是算力、显存、通信三角的工程权衡。本文从四种并行策略(DP/TP/PP/SP)、ZeRO 显存优化、混合精度训练、训练稳定性四个切口,给出源码级实现与企业级训练优化决策框架。
汉克老师3 个月前
c++·动态规划·dp·背包问题·gesp六级·混合背包问题
GESP6级C++考试语法知识(五十五、动态规划----背包问题(八、混合背包)经过前面七节课的修炼,阿宝已经掌握了:✅ 01背包✅ 完全背包✅ 多重背包✅ 二进制优化✅ 分组背包✅ 方案数背包
江屿风4 个月前
开发语言·c++·笔记·算法·dp·双指针
C++OJ题经验总结(竞赛)4注意:本篇标红字段均是可纳为己用的经验条。OJ题知识归属:1、第一题:动态规划 -> 区间dp(基于区间上某⼀点,划分成左右区间讨论)(线形)
汉克老师4 个月前
c++·动态规划·dp·gesp六级·二维dp
GESP6级C++考试语法知识(三十九、动态规划的启蒙(四、二维DP))有一台超级聪明的小机器人。它叫:国王给了它一张地图:并告诉它:但是!机器人有个奇怪规定:只能:向右走 →