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

题解:洛谷 P1113 杂务

【题目来源】

洛谷:P1113 杂务 - 洛谷

【题目描述】

John 的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。比如:他们要将奶牛集合起来,将他们赶进牛棚,为奶牛清洗乳房以及一些其它工作。尽早将所有杂务完成是必要的,因为这样才有更多时间挤出更多的牛奶。

当然,有些杂务必须在另一些杂务完成的情况下才能进行。比如:只有将奶牛赶进牛棚才能开始为它清洗乳房,还有在未给奶牛清洗乳房之前不能挤奶。我们把这些工作称为完成本项工作的准备工作。至少有一项杂务不要求有准备工作,这个可以最早着手完成的工作,标记为杂务 \(1\)

John 有需要完成的 \(n\) 个杂务的清单,并且这份清单是有一定顺序的,杂务 \(k(k\gt 1)\) 的准备工作只可能在杂务 \(1\)\(k−1\) 中。

写一个程序依次读入每个杂务的工作说明。计算出所有杂务都被完成的最短时间。当然互相没有关系的杂务可以同时工作,并且,你可以假定 John 的农场有足够多的工人来同时完成任意多项任务。

【输入】

\(1\) 行:一个整数 \(n(3\le n\le 10,000)\),必须完成的杂务的数目;

\(2\)\(n+1\) 行,每行有一些用空格隔开的整数,分别表示:

  • 工作序号(保证在输入文件中是从 \(1\)\(n\) 有序递增的);
  • 完成工作所需要的时间 \(len(1\le len\le 100)\)
  • 一些必须完成的准备工作,总数不超过 \(100\) 个,由一个数字 \(0\) 结束。有些杂务没有需要准备的工作只描述一个单独的 \(0\)

保证整个输入文件中不会出现多余的空格。

【输出】

一个整数,表示完成所有杂务所需的最短时间。

【输入样例】

7
1 5 0
2 2 1 0
3 3 2 0
4 6 1 0
5 1 2 4 0
6 8 2 4 0
7 4 3 5 6 0

【输出样例】

23

【解题思路】

image

【算法标签】

《洛谷 P1113 杂务》 #图论# #递推#

【代码详解】

#include <bits/stdc++.h>
using namespace std;
int n, key, t, flag, ans=0, thing[10005];
int main()
{cin >> n;  // 输入nwhile (n--) {  // 循环n次cin >> key >> t >> flag;  // 记录序号,完成所需时间,以及杂务序号thing[key] = t;  // 完成当前杂务需时twhile (flag!=0) {  // 当flag不为0,继续输入thing[key] = max(thing[key], t+thing[flag]);  // 将前一个杂务所需时间与当前耗时相加,并与当前耗时相比,求最大值。ans = max(ans, thing[key]);  // 当前杂务所需的最大时间,还需要和全部杂务的最大时间进行比较,找出最大值(其实就是最小值)cin >> flag;  // 继续输入}}cout << ans;  // 输出结果return 0;
}

【运行结果】

7
1 5 0
2 2 1 0
3 3 2 0
4 6 1 0
5 1 2 4 0
6 8 2 4 0
7 4 3 5 6 0
23
http://www.jsqmd.com/news/392387/

相关文章:

  • 别只会用 getData!Watcher 注册源码流程全拆解
  • Java线程解析:5种线程创建方法及应用场景 - 指南
  • 题解:洛谷 P2814 家谱
  • 题解:洛谷 P3879 [TJOI2010] 阅读理解
  • 2024 年 09 月 二级真题(1)--数位之和
  • 2026年龙岩连城长汀红白喜事鼓吹铜管乐队演出推荐:客家非遗与市场化服务的平衡之选 - 小白条111
  • 题解:洛谷 P4305 [JLOI2011] 不重复数字
  • 12:内核ROP与提权技术
  • 13:现代内核保护机制与绕过技术
  • 14:跨架构内核漏洞利用差异
  • 超市在线销售与分析|基于Python + Django超市在线销售与分析系统(源码+数据库+文档)
  • AI知识图谱构建:企业智能搜索的底层架构
  • 大数据领域数据中台的教育培训机构数据分析
  • 一天一个开源项目(第26篇):ZeroClaw - 零开销、全 Rust 的自主 AI 助手基础设施,与 OpenClaw 的关系与对比
  • OpenClaw(Clawdbot)部署指南:2026年天翼云部署快速上手
  • 彼得林奇的“家庭作业“投资法
  • 实用指南:Elasticsearch:监控 LLM 推理和 Agent Builder 使用 OpenRouter
  • AI提示系统反馈机制设计:如何解决“反馈噪音”问题?
  • 企业H5站点升级PWA (一)
  • 456348568
  • 75757
  • MongoDB备份策略:大数据场景下全量+增量备份的实现与恢复测试
  • AI训练算力利用率低?架构师的4个算力优化+调度方案
  • OpenClaw(Clawdbot):2026阿里云部署教程,掌握技巧超容易
  • 企业H5站点升级PWA (三)
  • OpenClaw(原Clawdbot)2026阿里云部署:手把手教学全记录
  • 企业H5站点升级PWA (二)
  • OpenClaw(原Clawdbot)2026部署教程:阿里云快速搭建指南
  • OpenClaw(原Clawdbot)2026部署教程:阿里云轻松搞定秘籍
  • 美团三面:8000万订单查不动,一定要分库分表吗?