USACO历年黄金组真题解析 | 2020年2月Timeline

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总贴:USACO历年黄金组真题解析 | 汇总


【题目来源】

洛谷:[P6145 USACO20FEB] Timeline G - 洛谷

【题目描述】

Bessie 在过去的M MM天内参加了N NN次挤奶。但她已经忘了她每次挤奶是在哪个时候了。

对于第i ii次挤奶,Bessie 记得它不早于第S i S_iSi天进行。另外,她还有C CC条记忆,每条记忆形如一个三元组( a , b , x ) (a,b,x)(a,b,x),含义是第b bb次挤奶在第a aa次挤奶结束至少x xx天后进行。

现在请你帮 Bessie 算出在满足所有条件的前提下,每次挤奶的最早日期。

保证 Bessie 的记忆没有错误,这意味着一定存在一种合法的方案,使得:

  • i ii次挤奶不早于第S i S_iSi天进行,且不晚于第M MM天进行;
  • 所有的记忆都得到满足;

【输入】

第一行三个整数N , M , C N,M,CN,M,C。保证1 ≤ N , C ≤ 10 5 1 \leq N,C \leq 10^51N,C1052 ≤ M ≤ 10 9 2 \leq M \leq 10^92M109

接下来一行包含N NN个整数S 1 , S 2 , … , S n S_1, S_2 , \ldots, S_nS1,S2,,Sn,保证∀ 1 ≤ i ≤ n \forall 1 \leq i \leq n∀1in,都满足1 ≤ S i ≤ M 1 \leq S_i \leq M1SiM

下面C CC行每行三个整数a , b , x a,b,xa,b,x,描述一条记忆。保证a ≠ b a \neq ba=b,且1 ≤ x ≤ M 1 \leq x \leq M1xM

【输出】

输出N NN行,每行一个整数,第i ii行的数表示第i ii次挤奶的最早日期。

【输入样例】

4 10 3 1 2 3 4 1 2 5 2 4 2 3 4 4

【输出样例】

1 6 3 8

【算法标签】

《洛谷 P6145 Timeline》 #图论# #拓扑排序# #差分约束# #USACO# #2020#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=100005,M=N*2;// 最大顶点数和边数intn,m,c;// n: 顶点数, m: 未使用, c: 有向边数量ints[N];// 每个顶点的权值inth[N],e[M],w[M],ne[M],idx;// 链式前向星存储图intcnt[N],dist[N];// cnt未使用, dist: 最长距离数组boolst[N];// 标记顶点是否在队列中/** * 添加有向边 * @param a 起点 * @param b 终点 * @param c 权重 */voidadd(inta,intb,intc){e[idx]=b;// 边指向的顶点w[idx]=c;// 边的权重ne[idx]=h[a];// 指向原链表头h[a]=idx++;// 更新头指针}/** * SPFA算法求最长路径 * 从超级源点0开始,计算到所有顶点的最长路径 */voidspfa(){// 初始化距离为负无穷memset(dist,-0x3f,sizeof(dist));queue<int>q;// SPFA队列q.push(0);// 超级源点入队st[0]=true;// 标记在队列中dist[0]=0;// 起点距离为0while(!q.empty()){intt=q.front();// 取出队首q.pop();st[t]=false;// 标记不在队列中// 遍历t的所有邻接边for(inti=h[t];i!=-1;i=ne[i]){intj=e[i];// 邻接顶点// 松弛操作:求最长路径if(dist[j]<dist[t]+w[i]){dist[j]=dist[t]+w[i];// 更新最长距离// 如果j不在队列中,入队if(!st[j]){q.push(j);st[j]=true;}}}}}intmain(){// 输入顶点数,m未使用,有向边数量ccin>>n>>m>>c;// 初始化邻接表memset(h,-1,sizeof(h));// 输入每个顶点的权值s[i]for(inti=1;i<=n;i++){cin>>s[i];// 添加超级源点到每个顶点的边// 权重为s[i],表示从0出发可以直接获得s[i]的权值add(0,i,s[i]);}// 输入c条有向边for(inti=1;i<=c;i++){inta,b,x;cin>>a>>b>>x;add(a,b,x);// 添加有向边a→b,权重x}// 执行SPFA算法求最长路径spfa();// 输出从超级源点到每个顶点的最长路径长度for(inti=1;i<=n;i++){cout<<dist[i]<<endl;}return0;}

【运行结果】

4 10 3 1 2 3 4 1 2 5 2 4 2 3 4 4 1 6 3 8

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何快速获取百度网盘提取码:技术解析与实用指南

如何快速获取百度网盘提取码&#xff1a;技术解析与实用指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 百度网盘资源访问过程中&#xff0c;提取码缺失是常见的技术痛点。baidupankey作为一款专业的网盘密码查询工具&…

Navicat密码解密工具终极使用指南:轻松找回遗忘的数据库连接密码

Navicat密码解密工具终极使用指南&#xff1a;轻松找回遗忘的数据库连接密码 【免费下载链接】navicat_password_decrypt 忘记navicat密码时,此工具可以帮您查看密码 项目地址: https://gitcode.com/gh_mirrors/na/navicat_password_decrypt Navicat密码解密工具是一款专…

LeagueAkari实战秘籍:英雄联盟辅助工具效率提升完全指南

LeagueAkari实战秘籍&#xff1a;英雄联盟辅助工具效率提升完全指南 【免费下载链接】LeagueAkari ✨兴趣使然的&#xff0c;功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari 还在为…

NeverSink过滤器终极配置指南:3步打造流放之路2高效刷图体验

NeverSink过滤器终极配置指南&#xff1a;3步打造流放之路2高效刷图体验 【免费下载链接】NeverSink-Filter-for-PoE2 This is a lootfilter for the game "Path of Exile 2". It adds colors, sounds, map icons, beams to highlight remarkable gear and inform th…

百度网盘提取码智能查询工具:告别资源访问障碍的全新体验

百度网盘提取码智能查询工具&#xff1a;告别资源访问障碍的全新体验 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为频繁查找百度网盘提取码而困扰吗&#xff1f;baidupankey这款专业的百度网盘提取码查询工具将彻底改…

USACO历年白银组真题解析 | 2023年2月Bakery

欢迎大家订阅我的专栏&#xff1a;算法题解&#xff1a;C与Python实现&#xff01; 本专栏旨在帮助大家从基础到进阶 &#xff0c;逐步提升编程能力&#xff0c;助力信息学竞赛备战&#xff01; 专栏特色 1.经典算法练习&#xff1a;根据信息学竞赛大纲&#xff0c;精心挑选经…

LeagueAkari终极指南:英雄联盟辅助工具完整教程

LeagueAkari终极指南&#xff1a;英雄联盟辅助工具完整教程 【免费下载链接】LeagueAkari ✨兴趣使然的&#xff0c;功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari 还在为英雄联盟…

5分钟精通NeverSink过滤器:流放之路2的智能拾取终极配置指南

5分钟精通NeverSink过滤器&#xff1a;流放之路2的智能拾取终极配置指南 【免费下载链接】NeverSink-Filter-for-PoE2 This is a lootfilter for the game "Path of Exile 2". It adds colors, sounds, map icons, beams to highlight remarkable gear and inform th…

ncmToMp3完整教程:3分钟解锁网易云加密音乐

ncmToMp3完整教程&#xff1a;3分钟解锁网易云加密音乐 【免费下载链接】ncmToMp3 网易云vip的ncm文件转mp3/flac - ncm file to mp3 or flac 项目地址: https://gitcode.com/gh_mirrors/nc/ncmToMp3 还在为网易云VIP下载的音乐无法自由播放而困扰吗&#xff1f;ncmToMp…

百度网盘资源解锁大师:秒速获取提取码的终极秘籍

百度网盘资源解锁大师&#xff1a;秒速获取提取码的终极秘籍 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而烦恼吗&#xff1f;每次遇到需要密码的资源&#xff0c;都要在多个平台间来回搜索…

LoRA微调技术详解与实践

1. 大模型微调的效率革命 随着ChatGPT、LLaMA等百亿、千亿参数大语言模型的崛起&#xff0c;如何让这些"通才"模型高效地适应特定领域任务&#xff0c;成为业界面临的核心挑战。传统全参数微调方法需要更新模型全部权重&#xff0c;即使对于70亿参数的模型&#xff0…

Windows右键菜单终极清理指南:5分钟打造清爽高效桌面

Windows右键菜单终极清理指南&#xff1a;5分钟打造清爽高效桌面 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是不是也遇到过这样的烦恼&#xff1f;&#…

高轨航天器抗辐照MCU选型约束分析

——基于AS32S601型MCU试验数据的适用性评估摘要&#xff1a;高轨航天器面临的空间辐射环境较中低轨道呈现数量级恶化&#xff0c;对微控制器的抗辐照能力提出极为严苛的要求。本文基于国科安芯研制的AS32S601型商业航天级MCU的脉冲激光单粒子效应、质子单粒子效应及总剂量效应…

springboot家装项目管理系统-装修公司流程管理系统

目录摘要项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作摘要 SpringBoot家装项目管理系统是为装修公司设计的流程管理解决方案&#xff0c;旨在优化项目管理效率、降低沟通成本并提升服务质量。系统基于S…

springboot家装项目管理系统-装修公司流程管理系统

目录摘要项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作摘要 SpringBoot家装项目管理系统是为装修公司设计的流程管理解决方案&#xff0c;旨在优化项目管理效率、降低沟通成本并提升服务质量。系统基于S…

springboot社会养老服务平台 紧急求助系统

目录社会养老服务平台紧急求助系统摘要项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作社会养老服务平台紧急求助系统摘要 随着老龄化社会进程加速&#xff0c;养老服务需求日益多元化&#xff0c;尤其是紧…

OOP,OOD,DDD设计理念

OOP&#xff08;面向对象编程&#xff09;、OOD&#xff08;面向对象设计&#xff09;和 DDD&#xff08;领域驱动设计&#xff09;是软件工程中三个密切相关但层次不同的设计理念。它们共同目标是提升软件的可维护性、可扩展性和可理解性&#xff0c;但在关注点和抽象层次上有…

几何建模引擎 ACIS/Parasolid/CGM/OpenCascade

1.几何建模引擎 ACIS/Parasolid/CGM/OpenCascade 这几款几何建模引擎&#xff08;Geometric Modeling Kernels&#xff09;是现代工业软件&#xff08;CAD/CAM/CAE&#xff09;的“心脏”。它们负责处理最底层的几何计算、拓扑关系和布尔运算。 为了帮你理清这四款引擎的区别…

nodejs_vue3半亩菜园线上预售系统的设计与实现

目录摘要项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作摘要 随着互联网技术的快速发展&#xff0c;线上预售系统成为农产品销售的重要渠道。"半亩菜园线上预售系统"基于Node.js与Vue3技术栈开…

Python机器人健康预警系统

目录Python机器人健康预警系统摘要项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作Python机器人健康预警系统摘要 Python机器人健康预警系统是一种基于数据分析和机器学习的智能监测工具&#xff0c;旨在实…