发布时间:2026/8/6 7:34:53
DeepSeek    LeetCode 3826. 最小分割分数 C++实现 针对 LeetCode 3826“最小分割分数”这里提供斜率优化 (Convex Hull Trick) 的 C 实现时间复杂度 O(k * n)空间复杂度 O(n)。---核心思路1. 状态定义dp_prev[i] 表示将前 i 个元素分成当前段数的最优两倍分数避免浮点数。2. 转移方程变形· 令前缀和 pref[i]最后一段起点为 jj 为前一段结束位置。· 转移dp_cur[i] min{ dp_prev[j] (pref[i]-pref[j])*(pref[i]-pref[j]1) }· 展开并整理为关于 pref[i] 的一次函数· 斜率 m -2 * pref[j]· 截距 c dp_prev[j] pref[j]^2 - pref[j]· 则原式 m * pref[i] c pref[i]^2 pref[i]3. 维护下凸包所有候选 j 对应一条直线用单调双端队列维护下凸包每次查询 x pref[i] 处的最小值。---C 代码实现cpp#include vector#include deque#include climitsusing namespace std;class Solution {public:long long minPartitionScore(vectorint nums, int k) {int n nums.size();vectorlong long pref(n 1, 0);for (int i 0; i n; i) {pref[i 1] pref[i] nums[i];}// dp_prev: 分成 1 段时的两倍分数vectorlong long dp_prev(n 1, 0);for (int i 1; i n; i) {long long s pref[i];dp_prev[i] s * (s 1); // 两倍分数}// 迭代分段数 2 .. kfor (int seg 2; seg k; seg) {vectorlong long dp_cur(n 1, LLONG_MAX / 4);dequepairlong long, long long hull; // 存储直线 (斜率, 截距)for (int i 1; i n; i) {int j i - 1; // 新候选直线的下标if (j 1) {long long m -2 * pref[j];long long c dp_prev[j] pref[j] * pref[j] - pref[j];// 将新直线加入凸包维护下凸性while (hull.size() 2) {auto [m1, c1] hull[hull.size() - 2];auto [m2, c2] hull[hull.size() - 1];// 检查新直线是否使倒数第二条直线无用// 条件: (c2 - c1) * (m1 - m) (c - c1) * (m1 - m2)if ((c2 - c1) * (m1 - m) (c - c1) * (m1 - m2)) {hull.pop_back();} else {break;}}hull.push_back({m, c});}// 查询 x pref[i] 处的最优直线队首while (hull.size() 2) {auto [m1, c1] hull[0];auto [m2, c2] hull[1];if (m1 * pref[i] c1 m2 * pref[i] c2) {hull.pop_front();} else {break;}}if (!hull.empty()) {auto [m, c] hull.front();dp_cur[i] m * pref[i] c pref[i] * pref[i] pref[i];} else {dp_cur[i] LLONG_MAX / 4; // 不可能状态}}dp_prev.swap(dp_cur);}return dp_prev[n] / 2; // 除以2得到原始分数}};---复杂度分析· 时间复杂度O(k * n)每个状态进出队列一次总操作线性。· 空间复杂度O(n)存储前缀和、DP数组以及凸包队列。---注意事项· 所有计算使用 long long 避免溢出。· 计算过程中存储两倍分数最后除以2避免浮点数运算。· 该实现假设 nums 中元素非负保证 pref[i] 单调递增从而可安全使用队首弹出策略。若可能出现负数需改用二分查找凸包但原题通常满足非负条件。如果题目允许负数只需将查询部分改为二分查找即可但代码会稍复杂。上述实现适用于绝大多数情况。

相关新闻

2026/8/6 7:34:53

DeepSeek LeetCode 3826. 最小分割分数 Rust实现

这道题的核心解法是斜率优化DP (Convex Hull Trick)。Rust 的实现思路与 Python / Java 一致,但需要利用其强大的泛型和迭代器来写出更安全、高效的代码。📝 核心思路回顾状态转移方程可变形为查询直线 y m*x c 在 x pref[i] 处的最小值,其…

2026/8/6 7:34:53

SkillSmith:通过文本与权重组合构建AI技能系统的实践指南

在构建智能应用时,我们常常面临一个挑战:如何快速、灵活地组合已有的能力,创造出满足特定需求的新功能?无论是希望将文本描述转化为可执行的代码,还是将多个预训练模型的能力融合,传统的开发流程往往涉及复…

2026/8/6 7:29:53

辐射EMC测试全流程解析:从原理、标准到设计整改实战

1. 项目概述:为什么我们需要深入理解辐射EMC测试?如果你是一名硬件工程师、产品经理,或者负责将任何带电的设备推向市场,那么“辐射电磁兼容性测试”这个词,对你而言绝不是一个遥远的、只属于实验室的概念。它更像是一…

2026/8/6 8:24:56

Python自动化邮件发送:从SMTP协议到实战封装

1. 项目概述:为什么我们需要自动化邮件发送? 在今天的数字化工作流中,邮件依然是不可替代的正式沟通渠道。无论是日常的运营报告、项目进度同步、系统监控告警,还是营销活动的批量触达,手动一封封地写邮件、添加附件、…

2026/8/6 8:24:56

基于FFT波谱的实时海洋模拟:从JONSWAP理论到Godot工程实践

1. 项目概述:从Gerstner波到频谱海洋如果你在Godot里做过水面,大概率用过Gerstner波。它简单、高效,几个正弦波叠加就能做出不错的海面起伏,对于池塘、湖泊或者风平浪静的海湾来说完全够用。但当你真正想模拟一片开阔的、狂风呼啸…

2026/8/6 8:24:56

Unity游戏开发规模化生产:组件化、数据驱动与预制体工作流实践

1. 项目概述与核心目标看到这个标题,相信很多对《空洞骑士》这款游戏着迷,同时又对Unity引擎抱有浓厚兴趣的朋友,都会心头一热。这不仅仅是一个简单的“跟做”教程,它触及了游戏开发中一个非常关键的阶段:从核心玩法验…

2026/8/6 8:24:56

XGBoost数学原理与从零实现:深入理解梯度提升与正则化

1. 项目概述:从决策树到XGBoost的进化之路如果你在机器学习竞赛圈里混过,或者做过一些工业级的预测项目,那对XGBoost这个名字一定不会陌生。它几乎成了表格数据竞赛的“大杀器”,也是许多数据科学家工具箱里的“压舱石”。但很多时…

2026/8/6 8:24:56

解决VRM4U在UE5.2打包失败:兼容性、着色器与资源引用全攻略

1. 项目概述:当VRM4U在UE5.2的打包路上“卡壳”如果你正在用Unreal Engine 5.2捣鼓一个涉及虚拟角色(尤其是从VRM格式导入的角色)的项目,并且用上了强大的VRM4U插件,那么“打包”这个环节很可能成为你开发流程中一个不…

2026/8/5 3:13:11

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/6 0:04:22

电力系统调度中的源荷不确定性建模与优化实践

1. 电力系统调度中的源荷不确定性挑战现代电力系统正面临前所未有的复杂性,其中源荷不确定性(Source-Load Uncertainty)已成为调度决策中最棘手的难题之一。我在参与某省级电网调度系统升级时,曾遇到风电预测误差导致日内调度计划…

2026/8/6 0:04:22

VGG-T3技术解析:3D重建速度的革命性突破

1. 项目概述:VGG-T3如何重新定义3D重建速度在计算机视觉领域,3D场景重建一直是个计算密集型任务。传统方法重建1000帧图像规模的场景往往需要数小时甚至更长时间,而英伟达最新发布的VGG-T3技术将这个时间压缩到了惊人的54秒。这个突破性进展来…

2026/8/6 0:04:22

深度解析旅游网站建设的意义及其对行业发展的深远影响与核心价值体现

在这个数字化浪潮席卷全球的今天,我们似乎已经忘记了,曾经有一段时间,人们想要去一个陌生的地方,只能靠在书桌前翻阅厚厚的旅游杂志,或者向刚从那里回来的朋友询问那些模糊不清的印象。那时候,“远方”是一个需要精打细算才能抵达的奢侈概念。而现在,只需要一部手机,轻…

2026/8/5 19:21:13

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/5 19:21:13

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/5 19:21:13

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…