当前位置: 首页 > news >正文

洛谷 P1252 马拉松接力赛,【深搜】解法个人思路分享

最近课上在讲深搜本来是想把这道题当成“工作分配”搜索类问题的模版题出给孩子们的但备课时在网上看了一下大家的答案基本都是用贪心做的很少有用到深搜所以想分享一下本人的深搜思路希望能帮到正在看帖子的你。本思路仅供学习参考请勿抄题解原题链接: link.再放一下题干题目描述某城市冬季举办环城 25km 马拉松接力赛每个代表队有 5 人参加比赛比赛要求每个代表队的每名参赛选手只能跑一次一次至少跑 1km 、最多只能跑 10km而且每个选手所跑的公里数必须为整数即接力的地方在整公里处。刘老师作为学校代表队的教练精心选择了 5 名长跑能手进行了训练和测试得到了这 5 名选手尽力连续跑 1km、2km、…、10km 的所用时间。现在他要进行一个合理的安排让每个选手跑合适的公里数使学校代表队跑完 25km 所用的时间最短。根据队员的情况这个最短的时间是惟一的但安排方案可能并不惟一。根据测试情况及一般运动员的情况得知连续跑 1km 要比连续跑 2km 速度快连续跑 2km 又要比连续跑 3km 速度快……也就是说连续跑的路程越长速度越慢当然也有特殊的就是速度不会变慢但是绝不可能变快。输入格式5 行数据分别是 1 到 5 号队员的测试数据每行的 10 个整数表示某一个运动员尽力连续跑 1km 、 2km、…、10km 所用的时间。时间为一个不超过 107 的正整数。输出格式两行第一行是最短的时间第二行是五个数据分别是 1 到 5 号队员各自连续跑的公里数。本题因为数据量很小所以也可以不考虑剪枝以下代码已在洛谷AC。如有错误或不准确之处请在评论区指出讨论。/* 套用工作安排问题的模版进行搜索 区别在于工作安排问题中每个人只能做一件工作 同一件工作无法安排给多个人完成 而本题每个人奔跑的距离是可以相同的比如5个人都怕5km只要合计25km都可以 */#includeiostreamusing namespace std;int a[6][10],v[6],sum0,minn1e9,he0,d[6];voiddfs(int x){if(x6){//一共有5个人所以如果判断到第6个人了代表递归结束if(he25){//5个人的总距离必须是25km才有效if(minnsum){//判断最短时间minnsum;//如果本次搜索情况为最短时间则用v数组记录每个人的奔跑距离/*这里要强调一下 因为本题每个人的本跑距离i是未经过标记的 也就是每个人都可以跑同样的距离(比如每人5km也合理) 这就导致d数组最后一定会存成10 10 10 10 10这样的数据 所以就必须在判断到最小值的情况下把当前的距离再单独存储到v中 */for(int i1;i5;i){v[i]d[i];}}}return;}for(int i1;i10;i){//每个人都可以跑1~10km中的一种suma[x][i];//记录总时间hei;//记录总奔跑距离d[x]i;dfs(x1);//向下深搜sum-a[x][i];//回溯之前的数据he-i;d[x]0;}}intmain(){for(int i1;i5;i){for(int j1;j10;j){cina[i][j];//正常输入每个人跑不同距离的时间}}dfs(1);//从第1个人开始深搜coutminnendl;//输出最短时间for(int i1;i5;i){//输出5个人分别跑了多少kmcoutv[i] ;}return0;}(第一次分享解题思路不太会用博客有操作不当之处还请友好指出)
http://www.gsyq.cn/news/1392474.html

相关文章:

  • 5分钟开启你的文字冒险世界:JavaQuestPlayer QSP游戏引擎完全指南
  • Zotero PDF2zh终极指南:如何在Zotero中快速实现高质量双语PDF翻译
  • 为什么视频中FrameCount / FrameRate ≠ Duration?
  • 鞍山黄金回收选长悦诚信老店让市民卖金省心又放心 - 专业黄金回收
  • SAP-ABAP:变量、常量、结构与内表声明(10篇博客合集) 第九篇:声明阶段的性能优化:如何从定义环节减少程序内存占用与运行耗时
  • Simulink模型质量守护:如何用Test Manager生成专业测试报告(含失败用例分析)
  • Vue+Node全栈电商实战:从零构建锤子商城完整解决方案
  • 基于PoE供电与NTP同步的嵌入式网络时钟设计与实现
  • MIDI软件系列分享
  • 当屏幕成为你的世界,谁来守护你的双眼?EyesGuard如何重新定义数字健康
  • 数字奇门遁甲排盘系统系列软件分享
  • 告别手动操作!用Python脚本批量处理DICOM转NIfTI(dcm2niix实战)
  • Taotoken模型广场在技术选型阶段提供的便利与决策参考
  • 神经网络预测解耦解释:从概念分离到模型决策洞察
  • 自制8051 Flash编程器:硬件设计、固件实现与开源指南
  • 在本机启动 LangGraph 开发服务器:完整指南
  • 2026郑州包包回收探店|4家实体店实测,LV/香奈儿报价对比 - 奢侈品回收测评
  • 本地部署开源监控工具 Coolmonitor 并实现外部访问(Windows 版本)
  • 软件工程导论核心概念精讲 | 从理论到实践,构建你的知识图谱
  • 终极字幕渲染解决方案:XySubFilter如何彻底改变你的观影体验
  • C#与.NET在企业级开发中的确定性优势解析
  • 2026年大连全屋定制源头工厂深度横评|从ENF级环保到工程交付的完整选型指南 - 精选优质企业推荐官
  • 5分钟快速上手Buzz:完全离线的语音转文字终极解决方案
  • HS2-HF_Patch:5分钟快速实现Honey Select 2完整汉化与去码
  • Kohya_SS技术架构深度解析:稳定扩散模型训练的工程化解决方案
  • 枣庄卖黄金必看!五家回收店真实探店+三个血泪被骗案例,防坑指南请收好 - 鑫顺黄金回收
  • Switch玩家最需要的5个功能,大气层系统都能给你
  • 3天掌握开源视频播放器:打造专属观影空间的完整攻略
  • 【大模型入门学习笔记】常见概念总结
  • League Akari:终极英雄联盟自动化工具完整指南,5分钟提升你的游戏效率