尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

该练习 DP 了!

该练习 DP 了!
📅 发布时间:2026/6/19 19:01:50

区间DP

洛谷P3147Problem

定义 \(f[i][j]\) 存储从左端点 \(j\) 开始,能合并出 \(i\) 的右端点位置,将其设为 \(k\) 。

下面我们推转移方程。从题意可以看出,两个相邻的 \(i-1\) 能够合并出 \(i\) 。那么在 \(f[i][j]\) 后所对应的就是 \(f[i][k]\),这两个 \(i\)合并能够得到一个\(i-1\),左端点是 \(j\) ,右端点是新得到的 \(f[i+1][j]\) 。

\[f[i][j] = f[i-1][f[i-1][j]] \]

初始化时,对于每一个 \(a[i]\) ,能够合并出其本身(实际上并不需要合并)的右端点只需要+1即可,即

\[f[a[i]][i] = i+1 \]

线性DP

CF edu182CProblem

定义 \(dp[i][j]\) 为对于第 \(i\) 组是否交换(其中 \(j\) 的数只能为0/1,分别对应不交换和交换),转移方程分为两种情况:

  1. \(a[i] \geq a[i-1]\) and \(b[i] \geq b[i-1]\) (即本次不需要交换)

    \[dp[i][1] = (dp[i][1]+dp[i-1][1]), dp[i][0] = (dp[i][0]+dp[i-1][0]) \]

  2. \(a[i] \geq b[i-1]\) and \(b[i] \geq a[i-1]\) (本次交换)

    \[dp[i][1] = (dp[i][1]+dp[i-1][0]), dp[i][0] = (dp[i][0]+dp[i-1][1]) \]

AT abc404EProblem

定义 \(dp[i]\) 为将从 \(i+1\) 开始所有的石子分到当前点的最少步数。很容易想到,我们对 \(dp\) 数组设置一个极大值,并且对最后一个 \(a[i]\) 不为0的点开始往后的 \(dp\) 数组全部设为0(显然的,这些地方无法被转移到且不需要被转移到)作为预处理。

对 位置 \(i\) 倒序枚举。对每个位置 \(i\) 所对应的可转移范围 \([max(0,i-c[i]), i-1]\) ,用 \(j\) 表示,很显然的能够想到:

\[dp[j] = min(dp[j],dp[i]+1) \]

同时,很容易忽略的一点在于:该点往前移的范围仅限于到该点前的第一个\(a[i] = 1\)的位置 \(i\) 。根据贪心思想,将当前点的所有点转移到同一个\(1\)的身上显然是更优的(转移次数变小),但是,如果在上述边界后继续转移,之后的贡献将会和该点前的第一个\(a[i] = 1\)的位置 \(i\) 两者贡献起冲突,故代码中存在:

for(int i = n-1;i > 0; i--){
    for(int j = i-1;j >= max(0ll,i-c[i]); j--){
        dp[j] = min(dp[j],dp[i]+1);
        if(a[j]) break;//这一步用来判断边界
    }
}

相关新闻

  • 本周计划
  • PPT文件太大?一招「无损」压缩图片,秒变传输小能手!
  • U3D动作游戏开发读书笔记--2.3 3D游戏所需要的数学知识

最新新闻

  • 2026 年 6 月最新资讯:萧邦国内全部官方维修门店地址全面更新公示,专属全国服务热线同步上线运行 - 亨得利中国服务中心
  • 卡地亚 2026 年 6 月全国官方维修网点实地调研验证报告:统一服务流程全面更新,专属售后体验迎来系统性全新升级 - 卡地亚中国服务中心
  • Onekey Steam清单下载器:轻松获取游戏清单的完整指南
  • 像素字体实战指南:从入门到精通的3个核心技巧
  • Claude Code 使用 GPT-5.5:2026年国内直连全球AI大模型
  • 2026 年 6 月帝舵售后核验最新完整版报告|中国区域新增多处钟表维修网点,全新服务场地正式投入使用 - 亨得利中国服务中心

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号