DeepSeek LeetCode 3826. 最小分割分数 C++实现

发布时间:2026/11/11 22:09:44

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/11/10 1:09:11

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

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

2026/11/10 0:49:49

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

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

2026/11/10 0:08:53

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

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

2026/11/11 22:07:53

直播卖电工证话术证全国通用吗

电工证直播卖话术保姆级教程:实操考试心里没底怕挂科?看这篇就够了 实操考试心里没底怕挂科?你不是一个人在战斗。很多想考电工证的朋友,面对高压电工、低压电工、焊工证、高处作业证这些证书,总觉得实操考试像过独木桥,一不小心就栽跟头。但其实,只要…

2026/11/11 22:07:53

高昌区电工证怎么考 内部消息告诉你复审不迷路

高昌区电工证怎么考 内部消息告诉你复审不迷路 证书过期了不知道怎么复审延期,别慌,内部消息告诉你,现在高昌区电工证考取和复审流程其实很清晰。作为从事应急管理领域多年的老手,我见过太多人因为不了解流程,白白浪费了机会,甚至影响了职业发展。这篇…

2026/11/11 22:07:53

东莞桥头哪里有电工证怎么考?考前押题帮你省心过关

东莞桥头哪里有电工证怎么考?考前押题帮你省心过关 你是不是正盯着手机屏幕,心里想着“东莞桥头哪里有电工证”,但又担心自己考不过?其实这很正常,特种作业证是很多岗位的硬门槛,特别是像电工证这种, 不考完证根本没法上岗…

2026/11/11 22:07:53

高昌区电工证怎么考官方报名入口全攻略

高昌区电工证怎么考官方报名入口全攻略 你是不是正为找工作发愁,听说 急需特种作业证才能上岗找工作 ,但又不清楚 高昌区电工证怎么考 ?别急,今天就给你讲透彻,从 官方报名入口 到考试内容、复习方法,一个不落。…

2026/11/11 22:07:53

泰安哪里办理电工证 上岗必备怎么找正规渠道

泰安哪里办理电工证 上岗必备怎么找正规渠道 证书过期了不知道怎么复审延期?最近很多在泰安工作的电工朋友都遇到了这个问题,尤其是像南阳卧龙区那些在建工项目上干活的建筑工人,一旦证过期就可能被停工,甚至面临罚款,影响收入和工作机会。别慌,这篇内…

2026/11/11 22:02:49

纳雍县电工证怎么转异地?郑州报考避坑指南全解析

纳雍县电工证怎么转异地?郑州报考避坑指南全解析 之前考的证在外省能不能转过来?这是很多在外地工作的纳雍县电工证持有者最关心的问题。特别是从贵州纳雍县走出去的电工从业者,很多在郑州等地工作多年,手里握着的是本地的证书,但随着工作地点的变化,证…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/11 0:02:26

考低压电工证通过率考试真题与备考技巧

低压电工证通过率高不高?学历不高也能考,值不值得考? 你是不是总听说电工证能帮你找高薪工作,但又担心自己学历不够,考不上?其实,低压电工证考试门槛并没有你想象中那么高,关键是方法对不对。这篇文章就告诉你, 考低压电工证通过率到底有多高 ,…

2026/11/11 0:02:26

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名 你是不是也和我一样,刚毕业就听说低压电工证学时必须达标才能上岗?可一打听,发现报名机构五花八门,价格参差不齐, 不知道去哪报名怕被中介坑…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑