区间动态规划

news2024/9/26 5:14:30

区间DP

    • 石子合并:前缀和+动态规划
    • 最长合法子序列
    • 环形石子合并
    • 石子合并 II
    • 城镇国王
    • 超级括号序列
    • 炸弹人

区间DP:

  • 状态:区间左右端点 dp[i][j]
  • 阶段:区间长度
  • 转移:由外到内

石子合并:前缀和+动态规划


问题特征:问总代价最少,求最优解 -> 动态规划的特征。

条件特征:石子合并,线性数组不断缩小的过程 -> 区间动态规划的特征。

按照区间DP定义状态:

  • dp[i][j]:i-j 区间总代价最少

那 dp[i][j] 从哪里来?

从最后一步开始想,考虑合并最后的俩堆石子,一定有一个分界线X。

最后俩堆石子合并 = [第1堆-第X堆] + [第X+1堆-第N堆] + 石子总数

  • dp[i][j] = min(dp[1][n], dp[1][x] + dp[x+1][n] + 石子总数)

但分界线X在哪里,我们确定不了,贪心算不出,只能枚举一轮找到最小值。

第1堆到第x堆怎么球呢?

  • 寻找分界线m
  • 1-x俩堆石子合并 = [第1堆-第m堆] + [第m+1堆-第x堆] + 1-m的石子总数

依此类推, 直到一堆石子。

for(int i=1; i<=n; i++)
	s[i] = s[i-1] + a[i];         // 前缀和,方便计算[i,j]区间的石子总数

int re( int i, int j )
    if ( i == j )  return 0;      // 只剩下一堆
    int ans = INT_MAX;
    for( int x = i; x < j; x++ )  // 枚举分界线
        ans = min( ans, re(i, x) + re(x+1, j) );
    return ans + s[j] - s[i-1];   // 加上石子总数

 


最长合法子序列

 


环形石子合并

 


石子合并 II

 


城镇国王

 


超级括号序列


 


炸弹人

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/439153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第3章 数据科学的5个步骤

第3章 数据科学的5个步骤 文章目录 第3章 数据科学的5个步骤3.1 数据科学简介3.2 5个步骤概览3.2.1 提出有意思的问题3.2.2 获取数据3.2.3 探索数据3.2.4 数据建模3.2.5 可视化和分享结果3.3.1 数据探索的基本问题3.3.2 数据集1&#xff1a;Yelp点评数据DataFrameSeries定性数据…

Steam无法载入网页 - 解决方案

前言 用户在使用Steam客户端时经常会遇到无法载入网页的情况&#xff0c;如下图。下文介绍解决方案。 解决方案 检查防火墙 打开Windows设置&#xff0c;选择更新和安全&#xff0c;选择Windows安全中心 - 防火墙和网络保护&#xff0c;如下图&#xff1a; 点击允许应用通…

提升业务韧性的最佳路径,亚马逊云科技帮您打开成本优化的路径

众所周知&#xff0c;当你想要从头开始建立一个云财务管理计划似乎是稍有难度的。因此&#xff0c;亚马逊云科技解构了4个云财务管理CFM原则——查看、节省、计划和运营——并分享可以实施的操作指南&#xff0c;帮助您在云上取得成功。 云成本管理工具 亚马逊云科技提供一系…

学生信息管理系统(student information manage system, SIMS)

一、前言 本项目为学生信息管理系统&#xff0c;使用C语言编写。 ★★★项目详见本人gitee仓库&#xff0c;地址 https://gitee.com/omnipotent-brother/student-information-manage-system.git ★★★ 二、项目介绍 开发环境&#xff1a; 基于windows 11系统下的Visual Studio…

SQL Server 服务器安装配置和使用

目录 一、SQL Server概述 1、SQL Server 环境需求 2、SQL Server的特点和组成 &#xff08;1&#xff09;SQL Server 特点 &#xff08;2&#xff09;SQL Server 基本组成 3、SQL Server 安装需注意 &#xff08;1&#xff09;数据文件的存储位置 &#xff08;2&#xf…

【Visual Studio Code】编码速度提升小技巧

简言 用了这么久的vscode。在此记录下我常用的快捷键和小技巧。 小技巧 这个是vscode的工作界面。 值得一提的是&#xff0c;界面下边一行是快捷显示信息和快捷操作。可以快速了解打开文件的描述信息。 使用扩展 在使用vscode的时候&#xff0c;一定要安装相应的扩展包。 扩…

08 - 智能编程语言

一、为什么需要智能编程语言 1. 语义鸿沟 传统C/C++等是以面向通用计算的加、减、乘、除等基本标量操作为基础的,通常不具有和具体任务及应用场景相关的高层语义。例如:使用纯标量计算的C++语言编写的卷积运算包含7重循环,而采用向量语义的Python语言编写的卷积运算只需要…

PowerToys——免费、强大、高效的微软官方效率提升工具集,办公学习宝藏软件

名人说&#xff1a;博观而约取&#xff0c;厚积而薄发。——宋苏轼 Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、简单介绍1、PowToys是什么&#xff1f;2、它的功能有哪些&#xff1f; 二、下载安装三、功能示例1、始终置顶2、…

弱算法MD5、SHA1、DES、AES CBC-修复建议

一、修复原则 修复原则上2条走&#xff1a; 1、新产品、新业务 不应使用弱算法&#xff0c;如果使用应及时修复 2、已经产品 【金融类】业务应自行根据涉及广度 排期修复 【非金融】 类&#xff0c;在修复难度大、涉及面广的情况下 可以暂时不修复&#xff0c;择机修复。 …

线程等待其他线程执行同步类CountDownLatch

文章目录 前言核心原理源码解析同步源码分析await源码分析countDown源码分析 实战演示1、创建演示代码2、创建测试用例3、测试结果演示 写在最后 前言 大家都知道多线程在我们实际编码过程中运用很多&#xff0c;很多情况我们需要靠多线程来提升系统性能。但是有些时候我们需要…

Flink系列-7、Flink DataSet—Sink广播变量分布式缓存累加器

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址&#xff1a;https://flink.apache.org/ 学习资料&#xff1a;https://flink-learning.org.cn/ 目录 数据输出Da…

图的简单处理(C/C++)

目录 1 存图方法 1.1 邻接矩阵 1.2 邻接表 1.3 链式前向星 2 树形DP 2.1 简介 2.2 例题1&#xff1a;公司聚会 2.3 例题2&#xff1a;士兵部署 2.4 例题3&#xff1a;强力党逗志芃 2.5 例题4&#xff1a;作物杂交&#xff08;不确定树的结构&#xff09; …

N1盒子使用U外挂HomeAssistant

目录 感谢1.准备工作2.将固件写入U盘&#xff08;32G&#xff09;3.将N1设为U盘启动4.将U盘插入到HDMI旁边的USB接口上5.网页打开HomeAssistant 感谢 HomeAssistant智能家居方案 配套教程 视频 源码 硬件 智能家庭HomeAssistant N1 4月全集成固件 小米米家涂鸦HASS nodered m…

Python图像处理【12】基于小波变换执行图像去噪

基于小波变换执行图像去噪 0. 前言1. 小波变换基础2. 小波变换去噪原理3. 使用 pywt 执行小波变换图像去噪4. 使用 scikit-image 执行小波变换图像去噪4.1 循环旋转技术4.2 改进图像去噪质量 小结系列链接 0. 前言 小波 (wavelets) 变换是表示和分析多分辨率图像的通用方法&am…

上海震坤行工业超市建设数字化采购供应链的实践

上海震坤行工业超市建设数字化采购供应链的实践 对客户而言&#xff0c;MRO工业用品采购一直存在着SKU繁杂、紧急需求多、计划性不强、库存难以管理等特点。有企业统计&#xff0c;MRO零星采购金额占其全类目采购总金额的2%&#xff0c;但是用于管理的时间精力却占到了总体的6…

[使用指南]在使用MyEclipse时如何添加 更新插件

MyEclipse v2022.1.0正式版下载 通过Eclipse市场目录或各种更新站点类型添加插件&#xff0c;可以定制你的MyEclipse IDE(或Angular IDE)。 一、从目录中添加插件 添加额外插件最简单方法是通过Eclipse Marketplace目录。 1. 要打开目录&#xff0c;请从Catalog中选择Help&…

腾讯云服务器网络收发包PPS是什么?性能介绍

什么是网络收发包PPS&#xff1f;云服务器网络收发包PPS多少合适&#xff1f;网络收发包PPS是指云服务器每秒可以处理的网络数据包数量&#xff0c;单位是PPS即packets per second每秒发包数量。云服务器吧来详细说下阿里云服务器网络收发包PPS和腾讯云网络收发包性能参数表&am…

k8s安装部署apollo配置中心

一、文章大纲 二、安装MySQL5.7 三、创建apollo-config 四、创建apollo-admin 五、创建apollo-portal 六、查看apollo各个组件服务状态 七、访问apollo 八、nginx代理配置转发#注意 一定要先启动apollo-config&#xff0c;再启动apollo-admin&#xff0c;最后启动apollo-porta…

什么才是好CDN

选择一种领先于网络和移动技术不断进步以及不断演变的威胁格局的CDN&#xff0c;将使您能够始终如一地为客户提供尽可能好的在线体验&#xff0c;同时最大限度地降低运营复杂性和管理成本。 但问题来了&#xff1a;什么才是最好的CDN&#xff1f; 这个问题的唯一答案是&#x…

HBase高手之路7—HBase之全文检索Phoneix

文章目录 HBase之全文检索Phoenix一、全文检索二、全文检索工具phoenix简介1. 简介2. 使用Phoenix是否会影响HBase性能3. 哪些公司在使用Phoenix4. 官方性能测试4.1 Phoenix对标Hive&#xff08;基于HDFS和HBase&#xff09;4.2 Phoenix对标Impala4.3 关于上述官网两张性能测试…