【LeetCode】每日一题 2024_11_11 切棍子的最小成本(区间 DP,记忆化搜索)

前言

每天和你一起刷 LeetCode 每日一题~

LeetCode 启动!

题目:切棍子的最小成本

双十一光棍节力扣给我们准备了 . . . 一根棍子

代码与解题思路

先读题:

题目给了 n 代表棍子的长度,给了 cuts 数组代表我们需要在这几个地方砍这根棍子,每次砍的时候会累加当前棍子长度的成本,让我们找出成本最小的砍法

有没有数学的解法我不太清楚,但最简单的思路就是,枚举切割这根棍子的所有情况,找出成本的最小值,那该如何枚举呢?

dfs(i, j),i j 作为当前木棍的左右边界,我们枚举 k 作为切割的位置,切割后木棍的成本就是:dfs(i, k)+dfs(k, j),而当前木棍的成本是:cuts[j]-cuts[i],具体代码如下:

func minCost(n int, cuts []int) int {cuts = append(cuts, 0, n) // 增加头和尾slices.Sort(cuts) // 排序方便操作n = len(cuts) // 现在的 n 是 cuts 数组的长度memo := make([][]int, n)for i := range memo {memo[i] = make([]int, n)}var dfs func(int, int) intdfs = func(i, j int) int { // i j 作为 cuts 数组的下标if i+1 == j { // 中间没有可以切割的点了,不用切割了return 0 }p := &memo[i][j] // 记忆化if *p != 0 {return *p}res := math.MaxIntfor k := i+1; k < j; k++ { // 枚举切割的位置// dfs(i, k)+dfs(k, j) 切割后的两段木棍的成本和res = min(res, dfs(i, k)+dfs(k, j))}*p = res + cuts[j]-cuts[i] // 切割后两段木棍的成本+当前的成本return *p}return dfs(0, n-1)
}

想这样区间相关的动态规划问题应该是区间 DP,这也是我第一次做区间 DP 相关的题目呢~

最近力扣 DP 也是越来越多了

每天进步一点点,我们明天不见不散~

可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。

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

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

相关文章

卡内基音乐厅回响肖邦旋律:旅美钢琴学者何超与导师洪勋的师生情缘

正是柿红蟹肥的时节&#xff0c;浙江杭州的青年钢琴演奏家洪勋老师收获了一份来自美国的大礼。他的弟子~正在就读美国哥伦比亚大学统计学硕士的何超受纽约卡耐基音乐厅盛邀以跨专业演奏者的身份于2025年1月19日晚上7点独奏肖邦的《叙事曲》&#xff0c;是该音乐厅创建130多年来…

Django SSE 高并发分析与解决

在 Django 中使用 Server-Sent Events (SSE) 实现高并发应用时&#xff0c;可能会遇到性能瓶颈和可扩展性问题。以下是高并发场景下使用 SSE 的问题分析及其解决方案。 问题背景 一位开发者在使用 Django/Gunicorn/Django-SSE 开发项目时&#xff0c;发现如果 SSE 连接数量超过…

Mono-InternVL 多模型大模型测评

一、简介 上海人工智能实验室的代季峰教授团队最近开发了一种新型多模态大模型Mono-InternVL&#xff0c;该模型在多模态任务中表现卓越&#xff0c;显示出技术上的显著优势。Mono-InternVL通过内嵌视觉专家&#xff0c;优化了视觉感知与理解的集成&#xff0c;大幅提高了处理效…

springboot快递物流管理系统-计算机设计毕业源码85178

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2 快递物流管理系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2 数据修改流程 2.2.3 数据…

《过山车之星2》启动不了解决方法

过山车之星2如果遇到启动不了的情况&#xff0c;玩家可以采取多种有效的办法进行解决&#xff0c;其中包括等待服务器维护结束、优化网络连接以及验证游戏文件完整性等。 过山车之星2启动不了怎么办 等待服务器维护结束 在维护期间会对服务器进行优化、修复Bug和更新&#xf…

【C#】创建一个主菜单和弹出菜单系统

文章目录 1. 创建WinForms项目2. 设计窗体3. 添加MenuStrip4. 配置菜单项5. 添加TextBox6. 编写事件处理代码7. 运行和测试 根据您提供的文件内容&#xff0c;看起来您需要在C# WinForms应用程序中设置一个窗体&#xff0c;其中包含一个文本框和几个菜单项&#xff0c;用于改变…

加权电价是什么?如何快速查询工商加权电价?

在电力市场中&#xff0c;电价是调节供需关系的重要杠杆。对于工商业用户而言&#xff0c;了解并合理利用电价结构&#xff0c;不仅能有效控制成本&#xff0c;还能提升运营效率。加权电价&#xff0c;作为电价计算中的一个重要概念&#xff0c;尤其值得关注和掌握。 一、加权电…

二叉树的前序遍历---一个简单高效的算法

今天刷了一道题&#xff0c;对一个二叉树进行前序遍历&#xff1a;根节点--》左子树节点--》右子树节点。 题目要求将一棵树的每个非Null节点的值用一个List列表返回&#xff1b; 我的思路&#xff1a;执行函数创建List并加入当前值&#xff0c;因为函数是递归调用的&#xff…

DotNet使用CsvHelper快速读取和写入CSV文件的操作方法

在日常开发中使用CSV文件进行数据导入和导出、数据交换是非常常见的需求&#xff0c;以下来讲讲在DotNet中如何使用CsvHelper这个开源库快速实现CSV文件读取和写入&#xff0c;需要的朋友可以参考下 CsvHelper类库介绍 CsvHelper是一个.NET开源、快速、灵活、高度可配置、易于…

Layui layui.treeTable 树表格组件 去除图标展示

下面的样式设置是为了在layui树形表格中移除默认的文件夹和叶子节点图标&#xff0c;以及如何设置节点展开和子节点的图标为空 /* 节点未展开时的图标 */.layui-icon-folder:before { content: "";}/* 节点展开时的图标 */.layui-icon-folder-open:before {content: …

网络编程——Python简单TCP通信功能代码实践

这里写目录标题 Python简单TCP通信功能代码实践阅读本博客前需准备的几个问题1. 网络通信的机制是什么&#xff1f;2. 什么是python进行网络编程&#xff1f;3. IP地址和端口是什么&#xff1f; 一个简单的TCP通信功能示例&#xff1a;client端.pysever端.pyPYCHARM运行结果 Py…

ESP32开发__搭建VSCode开发环境试编译项目

目录 1. 概述 2. 安装相关必要插件 3. VSCode及相关扩展件安装 3.1. VS Code 3.2. ESP-IDF Visual Studio Code Extension 3.3. Configure ESP-IDF 4. Demo试运行 4.1. 打开工程 4.2. 连接设备并配置端口 4.3. 配置工程 4.3.1. 设置“目标”芯片 4.3.2. menuconfig…

丹摩征文活动|Llama3.1的部署与使用指南

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ 丹摩征文 1. 初识Llama3.12. 部署流程创建实例登录实例部署LLama3.1 3. 实践使用教程4. 实践感想 前言&#xff1a;人工智能&#xff08;AI&…

柔性鞋材振动刀智能视觉裁切机市场报告:未来几年年复合增长率CAGR为5.4%

震动刀切割设备是一种利用振动刀片在各种非金属材料表面上切割的设备&#xff0c;振动刀切割机利用刀片高频振动和360度旋转&#xff0c;能保证每分钟上万次的振动频率&#xff0c;可在平面进行垂直切割&#xff0c;锋利裁剪。震动刀切割设备切割速度快&#xff0c;可以单层切割…

全面盘点多模态融合算法及应用场景

一、引言 多模态融合的定义 多模态融合&#xff08;Multimodal Fusion&#xff09;是指结合来自不同模态&#xff08;如视觉、听觉、文本等&#xff09;的数据&#xff0c;以提升信息处理和理解能力的技术方法。多模态数据通常具有不同的物理性质和信息特征&#xff0c;通过融…

双十一当天有哪些数码好物值得购买,双十一爆款数码好物大盘点

在数字化时代&#xff0c;数码产品已成为我们生活中不可或缺的一部分。无论是提升工作效率的笔记本电脑&#xff0c;还是丰富娱乐生活的智能设备&#xff0c;或是健康监测的智能穿戴&#xff0c;每一款产品都在以不同的方式改善着我们的生活质量。 双十一&#xff0c;作为一年中…

.wslconfig:6 中的未知密钥 ‘boot.systemd‘ 问题解决

我的环境 wsl 2 centos 9 部分博客通过修改 windows上 .wslconfig, 添加如下配置 来启动 systemd [boot] systemdtrue完全误人子弟, 倘若如此配置, 启动 wsl 时会遇到如下错误: C:\Users\2024>wsl wsl: C:\Users\2024\.wslconfig:6 中的未知密钥 boot.systemd正确启用…

独家|京东上线自营秒送,拿出二十年底牌和美团竞争

京东自营秒送开启招商&#xff0c;即时零售也要全托管&#xff1f; 作者|王迟 编辑|杨舟 据「市象」独家获悉&#xff0c;京东将在近期上线自营秒送业务&#xff0c;目前已经开始邀约制招商。「市象」获得的招商资料显示&#xff0c;和5月刚升级上线的京东秒送以POP模式不同&…

使用微信云开发,实现链接激活微信小程序(微信内部和外部H5访问)

首先小程序项目开发&#xff0c;需得支持云开发如何开通云开发&#xff1f;&#xff08;网上教程很多&#xff0c;也很全面&#xff0c;这里仅带过&#xff09; 配置云函数在项目根目录找到 project.config.json 文件&#xff0c;新增 cloudfunctionRoot 字段&#xff0c;指定本…

【ComfyUI +LaMa】图像修复(根据mask移除目标)——comfyui-lama-remover

相关资源下载&#xff1a;https://pan.baidu.com/s/18IL23I-NuXeQMp0W3F6kdA?pwd1111 comfyui-lama-remover &#xff08;手动涂mask或者上传mask&#xff09; https://github.com/Layer-norm/comfyui-lama-remover 原始项目链接 https://github.com/advimman/lama 方法1…