当前位置: 首页 > news >正文

20250908区间DP总结

引子

全班(倒数)第一个交总结的人。

区间DP

顾名思义,就是在区间里面作区间DP。

该DP用来解决区间最值问题,令dp[i][j]表示区间[i,j]的所有元素的权值和,那么dp[i][j]=dp[i][k]+dp[k+1][j](i-1<k<j)。

区间动态规划(DP)具有以下典型特征:

  1. 合并特性:核心操作是将多个子区间合并为一个整体,该过程具有可逆性

  2. 问题分解:能够将原问题拆解为可合并的子问题形式

  3. 求解方法

    • 为整个问题设定最值目标
    • 通过枚举所有可能的合并点
    • 将问题划分为左右两个子区间
    • 通过合并子区间得到最优解

A 石子合并(弱化版)

区间DP模板中的模板。

#include<bits/stdc++.h>usingnamespacestd;ints[305],dp[305][305];//前缀和数组和DP数组intmain(){intn;cin>>n;for(inti=1;i<=n;i++){intx;cin>>x;s[i]=s[i-1]+x;}memset(dp,0x3f,sizeof(dp));for(inti=1;i<=n;i++){dp[i][i]=0;//长度为一的区间无需合并,代价为0}for(intlen=2;len<=n;len++){//枚举区间长度for(intl=1;l<=n-len+1;l++){//枚举右节点intr=l+len-1;//左节点for(intk=l;k<r;k++){//中截点dp[l][r]=min(dp[l][r],dp[l][k]+dp[k+1][r]+s[r]-s[l-1]);//要加上该区间的总和}}}cout<<dp[1][n];return0;}

B Treats for the Cows G/S

见代码注释。

#include<bits/stdc++.h>usingnamespacestd;inta[2005],dp[2005][2005];intdih(intl,intr,intdep){//记忆化搜索if(l>r)return0;if(dp[l][r])returndp[l][r];//记忆化dp[l][r]=max(dih(l+1,r,dep+1)+dep*a[l],dih(l,r-1,dep+1)+dep*a[r]);//要么吃左边,要么吃右边returndp[l][r];}intmain(){intn;cin>>n;for(inti=1;i<=n;i++){cin>>a[i];}cout<<dih(1,n,1);return0;}
http://www.jsqmd.com/news/131481/

相关文章:

  • Altium Designer中高速PCB蛇形走线的项目应用
  • 首屏加载时间优化:提升用户满意度
  • 小白指南:三极管驱动LED灯的基本电路结构
  • 实现智能体调用海量api
  • 桌面客户端发布:离线环境下稳定运行
  • 20250927树形DP
  • Xilinx XADC IP核驱动开发完整指南
  • 树莓派5安装ROS2所需存储空间深度剖析
  • 应急响应预案演练:关键时刻不慌乱
  • 静态数据加密:磁盘层面的安全保障
  • 20251103折半搜索总结
  • 全面讲解树莓派4的USB-C供电设计问题
  • 数字信号处理篇---复数
  • HSTS强制安全连接:杜绝降级威胁
  • 2025年度设计能力强的网站建设公司有哪些?国内十大服务商测评与企业适配指南
  • 图解说明FPU参与的单精度转换流程
  • 灾备切换实战测试:确保系统永不停机
  • 树莓派更换静态IP一文说清:适配最新Raspberry Pi OS
  • 官网FAQ自动更新:紧跟产品迭代节奏
  • 账单明细导出:清晰掌握消费构成
  • 10、Windows文件分析:VSC与MFT的深入探索
  • usb_burning_tool与定制化镜像结合的产线解决方案
  • 模拟电路直流工作点分析操作指南
  • 配置版本控制:Git管理所有设置项
  • 滚动升级策略:渐进式替换旧实例
  • 操作指南:如何在紧凑空间完成高效PCB布局设计
  • Java大厂面试实录:互联网医疗场景下的Spring Boot与微服务技术栈深度考验
  • 自媒体人必藏!4 个神仙小程序,解决权重 / 去水印 / 熬夜失眠难题
  • 11、Windows文件分析与事件日志解析全攻略
  • 负载均衡部署:支撑高并发访问需求