【石子合并】

news/2024/9/18 14:54:27/ 标签: 算法, c++, 动态规划

题目

错解

#include <bits/stdc++.h>
using namespace std;
const int N = 310;
int a[N], s[N], f[N][N];
int main()
{int n;cin >> n;memset(f, 0x3f, sizeof f);for(int i = 1; i <= n; i++){cin >> a[i];s[i] = s[i-1] + a[i];f[i][i] = 0;}for(int i = 1; i < n; i++){for(int j = i+1; j <= n; j++){for(int k = i; k < j; k++){f[i][j] = min(f[i][j], f[i][k] + f[k+1][j] + s[j] - s[i-1]);}}}cout << f[1][n];
}

分析

应该从小区间遍历到大区间。因为这个更新方向是从小到大(先整合一小部分,再整合大部分),而不是从左到右、从上往下。

正解

#include <bits/stdc++.h>
using namespace std;
const int N = 310;
int a[N], s[N], f[N][N];
int main()
{int n;cin >> n;memset(f, 0x3f, sizeof f);for(int i = 1; i <= n; i++){cin >> a[i];s[i] = s[i-1] + a[i];f[i][i] = 0;}for(int len = 2; len <= n; len++){for(int i = 1; i + len -1 <= n; i++){int j = i + len - 1;for(int k = i; k < j; k++){f[i][j] = min(f[i][j], f[i][k] + f[k+1][j] + s[j] - s[i-1]);}}}cout << f[1][n];return 0;
}


http://www.ppmy.cn/news/1517015.html

相关文章

Datawhale X 李宏毅苹果书 AI夏令营-深度学习基础-Task1

# Datawhale AI 夏令营 夏令营手册&#xff1a;向李宏毅学深度学习 深度学习临界点 临界点&#xff1a;梯度为零的点 在神经网络训练过程中&#xff0c;当参数对损失微分为零的时候&#xff0c;梯度下降就不能再更新参数了&#xff0c;训练就停下来了&#xff0c;损失不再下…

Linux信号处理机制基础

什么是信号 信号在最早的UNIX系统中即被引入&#xff0c;已有30多年的历史&#xff0c;但只有很小的变化。信号是提供异步事件处理机制的软件中断。进程之间可以相互发送信号&#xff0c;这使信号成为一种进程间通信(Inter-ProcessCommunication,lPC)的基本手段 信号的名称与…

论文翻译:Multi-step Jailbreaking Privacy Attacks on ChatGPT

Multi-step Jailbreaking Privacy Attacks on ChatGPT https://arxiv.org/pdf/2304.05197 多步骤越狱隐私攻击对ChatGPT的影响 文章目录 多步骤越狱隐私攻击对ChatGPT的影响摘要1 引言2 相关工作3 对ChatGPT的数据提取攻击3.1 数据收集3.2 攻击制定3.3 从ChatGPT中提取私人数据…

Java——动态代理(2/2)-动态代理的应用场景和好处(原始模块、使用代理、测试执行)

目录 使用代理优化用户管理类 原始模块 使用代理 测试执行 解决实际问题、掌握使用代理的好处 使用代理优化用户管理类 场景 某系统有一个用户管理类&#xff0c;包含用户登录&#xff0c;删除用户&#xff0c;查询用户等功能&#xff0c;系统要求统计每个功能的执行耗…

MySQL和Hadoop

一、介绍 MySQL 针对结构化数据的存储、管理、查询 mysql和hadoop下的部分都是数据库&#xff0c;mysql用sql,hadoop用的是hiveql。&#xff08;大数据vs小数据&#xff09;&#xff08;结构化vs分布式&#xff09; Hadoop 定义&#xff1a;Hadoop 是一个开源的框架&#x…

小程序常用界面交互api

1. wx.showToast 显示消息提示框 显示一个消息提示框&#xff0c;一般用于操作成功后的提示 wx.showToast({title: 操作成功,icon: success,duration: 2000 });2. wx.showModal 显示模态弹窗 显示一个模态弹窗&#xff0c;可以用于提醒用户重要信息或让用户进行选择 wx.sho…

c++自定义迭代器,如跳表,怎么实现

在C中&#xff0c;跳表是一种高效的数据结构&#xff0c;用于存储有序数据并支持快速查找、插入和删除操作。为了在C类中实现跳表迭代器&#xff0c;你需要定义一个迭代器类&#xff0c;并在跳表类中提供相应的接口。以下是一个简单的实现示例&#xff1a; #include <iostr…

C++STL之list的使用详解

一、简介 1、底层&#xff1a;list为双向链表&#xff0c;即struct中包含一个数据和两个指针&#xff0c;分别指向前一个节点和后一个节点&#xff0c;在堆上分配空间&#xff0c;每插入一个元数都会分配空间&#xff0c;每删除一个元素都会释放空间 2、性能 ① 访问&#x…

【JPCS独立出版,EI稳定检索】2024年工业机器人与先进制造技术国际学术会议(IRAMT 2024,9月27-29)

2024年工业机器人与先进制造技术国际学术会议&#xff08;IRAMT 2024&#xff09;将于2024年9月27-29日在中国成都举办。 此次会议将围绕工业机器人、机电技术、机械及制造等领域的最新研究成果展开讨论&#xff0c;并广泛邀请了国内外领域内的著名专家与学者。会议旨在搭建一个…

序列化组件对比

1、msgpack介绍 1.MsgPack产生的数据更小&#xff0c;从而在数据传输过程中网络压力更小 2.MsgPack兼容性差&#xff0c;必须按照顺序保存字段 3.MsgPack是二进制序列化格式&#xff0c;兼容跨语言 官网地址&#xff1a; https://msgpack.org/ 官方介绍&#xff1a;Its lik…

【Python机器学习】NLP概述——深度处理

自然语言处理流水线的各个阶段可以看作是层&#xff0c;就像是前馈神经网络中的层一样。深度学习就是通过在传统的两层机器学习模型架构&#xff08;特征提取建模&#xff09;中添加额外的处理层来创建更复杂的模型和行为。 上图中&#xff0c;前四层对应于聊天机器人流水线中的…

<数据集>遥感船舶识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;15047张 标注数量(xml文件个数)&#xff1a;15047 标注数量(txt文件个数)&#xff1a;15047 标注类别数&#xff1a;25 标注类别名称&#xff1a;[Aircraft Carrier, Auxiliary Ships, Other Ship, Other Warship,…

【51单片机实物】基于51单片机设计的简易直流电机调测速系统(可用在普中开发板)——程序源码设计文档演示视频等(文末工程资料下载)

基于51单片机设计的简易直流电机调测速系统 演示视频 基于51单片机设计的简易直流电机调测速系统(可用在普中开发板) 功能任务描述:将设置的转速与当前测量的转速比较,得出差值用于控制DAC0832的输出电压,从而控制直流电机的转速,使转速逐渐达到设置转速。在LED上显示设…

【代码随想录训练营第42期 Day39打卡 - 打家劫舍问题 - LeetCode 198.打家劫舍 213.打家劫舍II 337.打家劫舍III

目录 一、做题心得 二、题目与题解 题目一&#xff1a;198.打家劫舍 题目链接 题解&#xff1a;动态规划 题目二&#xff1a;213.打家劫舍II 题目链接 题解&#xff1a;动态规划 题目三&#xff1a;337.打家劫舍III 题目链接 题解&#xff1a;动态规划 三、小结 一、…

通过React实现萤石摄像头rtsp地址格式的视频流的web展示

首先&#xff0c;我们需要拿到rtsp格式的流地址&#xff08;rtsp://admin:[password][ip]&#xff09;&#xff0c;其中 password:设备底下的6位数验证码 ip:设备的ipv4地址 这里拿到ip的方式可以直连网线和绑定wifi两种方式 然后下载PC端的萤石工作室&#xff08;下载中心…

五、Centos7-安装Jenkins

目录 一、基础环境准备 1.安装JDK 2.安装Tomcat 二、安装Jenkins 1.配置Jenkins插件镜像源 2.问题&#xff1a;进入manager jenkins页面报错 3.配置Git 4.配置jdk 三、重新安装Jenkins 四、另一种Centos安装jenkins的方式--最终可用版 克隆了一个base的虚拟机&#x…

UnrealEngine学习(01):安装虚幻引擎

1. 下载安装 Epic Games 目前下载UE引擎需要先下载Epic Games&#xff0c;官网为我们提供了下载路径&#xff1a; https://www.unrealengine.com/zh-CN/downloadhttps://www.unrealengine.com/zh-CN/download 我们点击图中步骤一即可进行下载。 注释&#xff1a;Unreal Engi…

未初始化的变量

学习C语言局部变量&#xff0c;经常听到这个说法。为什么局部变量默认是未初始化的&#xff1f;解释它需要理解程序结构和栈操作。 栈内存 C/C函数的局部变量保存在栈&#xff0c;栈可以认为是操作系统为了“加速”程序运行给线程配置了一块临时使用的内存区域&#xff0c;如果…

Spring Boot 框架中配置文件 application.properties 当中的所有配置大全

Spring Boot 框架中配置文件 application.properties 当中的所有配置大全 &#xff03;SPRING CONFIG&#xff08;ConfigFileApplicationListener&#xff09; spring.config.name &#xff03;配置文件名&#xff08;默认 为 application &#xff09; spring.config.lo…

一个干净的python项目(没连数据库啥的)

希望你们写代码有用&#xff08;直接可以拿来用&#xff0c;我只要您的一个关注和赞赞&#xff09; #用户数据 user1{"用户名":"aaa","密码":"123","姓名":"热孜娅","类型":"客户"} user2{&q…