cpp算法题目整理——贪心篇2

发布时间:2026/10/18 14:53:20

cpp算法题目整理——贪心篇2 最短距离题目描述在一条一维的直线上存在着 n 台显示器和 n 个电源插座。老师给小蓝布置了个任务负责将每台显示器通过电源线与一个插座相连接每个插座最多只能给一台显示器供电同时老师希望所消耗的电源线的长度尽可能的少请你帮小蓝计算下电源线的最小消耗长度为多少为了便于计算你只需要考虑直线距离即可。解题思路贪心思路序号最小的显示器连接序号最小的插座这样下来最终的距离一定是最小用vector定义两个long long数组分别存储显示器序号和插座序号使用vetcor能够直接调用sort进行排序即sort(x.begin(),x.end()); 然后让对应位置的x[i] y[i] 相减并取绝对值即可累加到distance上输出。#include iostream #include vector #include cmath #include algorithm using namespace std; int main(){ int n; cin n; //定义两个vector 后边可以用来直接排序 vectorlong long x(n); vectorlong long y(n); //分别输入显示器和插座的位置 for(int i 0; i n; i){ cin x[i]; } for(int i 0; i n; i){ cin y[i]; } //位置最小的显示器连接位置最小的插座 这样一定是最小 long long dis 0; //对显示器和插座分别排序确保最小对应最小 sort(x.begin(),x.end()); sort(y.begin(),y.end()); //注意要用绝对值 for(int i 0; i n; i){ dis abs(x[i] - y[i]); } cout dis endl; return 0; }画展布置题目描述解题思路这个题目主要是用滑动窗口解决即去遍历排好序的vector看看长度为m的序列那个满足最小的要求为什么只用最后一项减去第一项呢 这个涉及到一个数学公式把这个式子展开之后满足裂项相消能够简化计算步骤消掉之后就只剩下最后一项的平方减去第一项的平方减少计算量然后遍历长度为m的窗口取最小值输出就行了。 为什么要用滑动窗口呢因为对于有些连续的数字他的平方差比看起来小的数字更小比如11011121000如果取前三项最小的那平方之后相减就是120但是如果选择101112那相减之后就是44所以才要用滑动窗口遍历整个数组找到最小的值。#include iostream #include vector #include algorithm using namespace std; int main(){ int n, m; cin n m; //定义vector方便排序 vectorlong long x(n); for(int i 0; i n; i){ cin x[i]; } //从小到大排序 sort(x.begin(), x.end()); //初始化l 最好的情况就是这个值 long long l x[m - 1] * x[m - 1] - x[0] * x[0]; //滑动窗口 长度为m //遍历长度为m的序列 取cur和l的最小值 for(int i 0; i n - m; i){ long long cur x[i m - 1] * x[i m - 1] - x[i] * x[i]; l min(cur, l); } cout l endl; return 0; }
延伸阅读

更多相关文章

2026/10/18 14:48:19

Whisper离线部署实战:编译whisper.cpp与量化模型优化指南

简介:一套基于whisper.cpp深度定制的离线语音识别完整工程,面向需要在本地或内网环境部署语音转写能力的开发者、嵌入式及桌面应用工程师。资源包将C推理引擎与Go服务端无缝衔接,通过CGO调用封装,配合预编译的tiny、base、small三…

2026/10/18 14:48:19

提示词工程终局:文件系统思维让Agent真正可扩展

先说一个现象:开源项目能到 20 万星,本身就是一件非常离谱的事。而如果这个项目还是零营销、零融资、纯靠社区口碑滚出来的,那基本可以断定,它踩中的绝对不是某个小圈子的自嗨需求,而是一个普遍存在的、大家一直在忍的…

2026/10/18 16:08:25

Codex人机协同工作流:从指令建模到生产级验证

1. 项目概述:Codex 不是“AI 写代码”,而是开发者工作流的重构引擎“这应该是全网最全的 Codex 实战教程了”——这句话不是标题党,而是我过去18个月在多个真实交付项目中反复验证后的结论。Codex 的核心价值,从来不在“自动生成 …

2026/10/18 16:08:25

Jetson边缘部署视觉抓取AI:ONNX+TensorRT+ROS2实战

简介:本资源是面向AI开发者与本地化部署实践者的OpenClaw龙虾AI一键部署代码包,解决个人用户在macOS和Windows环境下快速启用功能完备、数据完全本地化的AI助手问题。资源共3个文件:1个.inscode配置脚本(含系统适配的自动化部署逻…

2026/10/18 16:08:25

开源AI编程实战教程:从提示词模板到2万Star的增长复盘

上周打开仓库后台,Star 数稳稳停在 2 万出头,评论区还有人留言说“在 AI 助手的回答里看到这个教程来补课的”。看到这条留言的时候,我才意识到,这份开源 AI 编程教程不再只是我自己的一块自留地,它已经成了不少开发者…

2026/10/18 16:08:25

大模型API限流原理与熔断防护实战

1. 标题里的“烧穿”不是比喻,是真实发生的资源耗尽现象看到这个标题,第一反应不是兴奋,而是皱眉——“5分钟烧穿699套餐5小时限额”,这种表述在技术圈里太刺眼了。它不像常规的性能压测报告,倒像一次失控的实验记录&a…

2026/10/18 16:08:25

Codex接入国内低成本大模型:API转发与格式适配实战

1. 为什么要在 Codex 里接入国内低成本大模型1.1 一个真实的需求场景事情是这样的,前段时间我在做一个代码辅助工具的项目,核心思路是利用 Codex 的交互框架来帮团队做代码补全和自动化重构。Codex 本身的交互体验确实做得好,命令行界面干净利…

2026/10/18 16:03:24

CHTMLDome2:用C语言实现HTML DOM解析与操作

简介:一份基于MFC CHtmlView类的工程示例包,面向需要在桌面程序中嵌入HTML/JavaScript界面的Windows开发者。压缩包共57个文件,约645KB,涵盖完整的Visual Studio解决方案(.sln/.vcxproj)、C源文件与头文件、…

2026/10/18 0:01:50

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/18 0:01:50

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

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

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

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