首页 > 其他分享 >2023长郡集训 动态规划笔记

2023长郡集训 动态规划笔记

时间:2023-07-25 17:44:19浏览次数:39  
标签:状态 texttt 花生 问题 长郡 dp 2023 集训 DP

动态规划原理

何为动态规划?

动态规划(\(\text {Dynamic programming}\)),简称 DP

DP 并不是一种算法,与模拟、贪心一样,而是一种解决问题的方式。

DP 的基本思想为「将给定的问题拆分为一个个规模更小的子问题,直到子问题可以直接解决,返回/保存这个值,再根据方程一步步推出原本问题的答案。」,

有没有发现, DP 定义怎么好像和递归、递推的的差不多?没错,DP 就是基于递归或递推运行的。

DP 的术语:

  • 决策,指在问题中可以选择的操作,如在元神中与 \(\texttt {NPC}\) 对话时,你可以选择对话回复的内容。

  • 状态,指将原问题划分为更小的子问题时,用来描述子问题的属性或变量的取值。

  • 状态空间,指问题中所有可能状态的集合。

DP 的特性为:

  • 无后效性,已经求解的子问题,不会再受到后续决策的影响。
  • 最优子结构DP 问题的最优解所包含的子问题的解也是最优的。
  • 子任务重叠,有大量重叠的子问题,但是不是所有 DP 文问题都有这个特性。

DP 往往用于求最优解问题,例如问题

\(\texttt {Hello Kitty}\) 想搞点花生 \(\texttt {77}\) ,她来到一片有网格道路的 \(r \times c\) 的矩阵花生地,她要从左上角进入,右下角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,用 \(a_{ij}\) 表示,经过一株花生苗就能摘走该它上面所有的花生。\(\texttt {Hello Kitty}\) 只能向右或向下走,不能向左或向上走。问 \(\texttt {Hello Kitty}\) 最多能够 \(7\) 到多少颗花生。

对于这个问题,DP 时要经过以下三个步骤:

  1. 确定状态和表达方式,如本题,假设要走到 \((i,j)\) 处,就只能从上面和左边走过来,也就是 \((i - 1,j)\) 和 \((i,j - 1)\) 两种状态,

    可以用 \(dp(i,j)\) 来表示从 \((1,1)\) 走到 \((i,j)\) 所能摘到最多的花生数。

  2. 分解子问题,我们看 \(1.\),会发现我们可以把 \(dp(r,c)\) 分解成 \(dp(r-1,c),dp(r,c - 1),dp(r - 1,c - 1)\) 三个子问题,

    而这些子问题又可以分解为子问题,最后分解为 \(dp(1,1)\),此时确定边界为 \(dp(1,1) = a_{1,1}\)。

  3. 列出状态转移方程,状态转移方程就是通过规模更小的子问题推导出本子问题的方程,此题如要推导出 \(dp(i,j)\),

    状态转移方程就是 \(dp(i,j) = \max(dp(i,j - 1),dp(i - 1,j)) + a_{ij}\)。

  4. 按顺序求解子问题,按照前面想好的,确定 DP 顺序(一般自底向上),优化空间(滚动数组),优化时间(记忆化搜索)等。

线性DP

数字三角形模型
最长上升子序列

背包DP

01背包问题
完全背包问题

标签:状态,texttt,花生,问题,长郡,dp,2023,集训,DP
From: https://www.cnblogs.com/acangcang-Eliauk/p/17580503.html

相关文章

  • 重磅来袭 | 2023数字供应链安全大会邀请函(DSS 2023)
    2023数字供应链安全大会(DSS2023)将于8月10日在北京·国家会议中心隆重开幕。本次大会由悬镜安全主办,ISC互联网安全大会组委会、中国软件评测中心(工业和信息化部软件与集成电路促进中心)、中国信息通信研究院云计算与大数据研究所、CCF计算机安全专业委员会联合发起,OpenSCA开源社区、......
  • SMU Summer 2023 Contest Round 6
    SMUSummer2023ContestRound6A.ThereAreTwoTypesOfBurgers从0枚举到汉堡的最大个数,取最大值#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;signedmain(){ios::sync_with_stdio(false);cin.tie(nullptr);intT;cin>>......
  • 不坑盒子 2023.0725 官方最新版
    2023.0725•不坑盒子支持Excel和PPT了,相对功能还较少。•修复在Office黑色风格模式下插件界面卡顿的Bug•修复“28*22”每行只有20个字的Bug•修复“新自动排版”中,在开启“大纲样式”的情况下,如果匹配到的内容只是段落中的某一句,会把整个段落设置为“大纲样式”的Bug•新增......
  • Lightroom Classic 2023 - 照片后期处理软件mac/win版
    LightroomClassic2023是一款专业的数字照片管理和后期处理软件。它提供了一系列强大的工具和功能,帮助摄影师和创意艺术家对照片进行组织、编辑和优化。→→↓↓载LightroomClassic2023mac/win版 LightroomClassic2023具有直观的用户界面,使得用户能够轻松浏览和管理他......
  • 【2023-07-25】五年计划
    20:00幸福是什么?是打仗吗?不是。是打架吗?不是。幸福能令人感到可爱、亲切、美好、愉快、平静和快活吗?噢,是的!                                                 ——狄更斯......
  • 2023年Q2京东小家电市场数据分析(京东数据运营)
    伴随人们对生活品质追求的提高,以及拥有新兴消费理念的年轻人逐渐成为消费主力,功能新潮、外观精致的小家电经常在电商平台销售榜单里“榜上有名”。本期我们便一起来分析Q2京东小家电市场中,一些较为热门的精致生活小电的行业大盘变动情况。*咖啡机延续市场红利持续增长,海外品牌占主......
  • 2023-07-25 uview1.0的u-number-box组件在渲染时会触发change,如何才能避免事件影响?==
    前言:购物车用到加减购物车数量的一个步进器组件,使用的是uview组件1.0版本的u-number-box。该组件设置了一个@change事件,该事件会在页面渲染的时候触发一次,如果你在里面调用了接口,比如增加/减少购物车数量,那么每次一刷新购物车该事件就会被触发,从而导致不必要的报错。解决方案:在......
  • 雄关漫道真如铁,而今迈步从头越 | 挥别2022,再战2023!
    挥别2022年这一年,虽面临诸多挑战,但我们充满干劲儿向下扎根,向上生长这一年,我们风云十载,厚积薄发站在2023年的开端让我们一起回顾博云2022年的这些成绩No.1 专精特新,示范引领2022年8月,根据工信部统一部署,江苏省工信厅公示了第四批国家级专精特新“小巨人”企业名单,凭借在云计算领......
  • 暑假牛客多校第三场 2023-7-24
    未补完A.WorldFragmentsI算法:构造做法:从x中某一个数位选一个数,这个数有可能是0或者是1。求x变到y的最小数,这个数有可能是负数,要取绝对值。注意如果x是0,那么从x中取的数就只有0了,除非y也等于0,否则输出-1。code#include<iostream>#include<cstring>#include<algori......
  • 【专题】2023新能源电池材料发展概览报告PDF合集分享(附原数据表)
    全文链接:http://tecdat.cn/?p=33303原文出处:拓端数据部落公众号《新能源电池材料发展概览报告合集》综合分析了电池下游应用场景以及当前材料体系所面临的问题,重点关注了光伏、储能和氢能领域的电池产品,预测了相关电池材料体系的发展趋势和投资价值。报告合集涵盖了光伏HJT电池......