挤奶牛奶预备事项(应用的数学分析,贪心思想)

简介: 挤奶牛奶预备事项(应用的数学分析,贪心思想)

我们只有将牛的乳房开进牛棚,你才能开始清洁乳房,在清洁乳房之前,您不能挤奶。 我们呼吁为完成这项工作作好这些准备。 至少有一件杂务不需要准备,可以尽早开始,标记为杂项1。 有一个列表的 n 家务要完成,此列表是有序的,和杂务 k (k>1) 的准备工作可能只在杂项 1 到 k-1。


将程序从 1 到 n 读入每个杂务的工作说明中。计算完成所有家务的最短时间。当然,彼此无关紧要的家务劳动可以同时工作,你可以假设农场有足够的工人同时完成任意数量的任务。

第1行:整数n,必须完成的家务劳动数量(3≤n≤10,000);


2 到 (n-1)分别是

* 工作序列号(输入文件中订购的 1 到 n):

* 完成工作所需的时间(1≤n≤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


我们分析的主题是:

我们可以理解,每当我们开始做第一步,我们穿越准备工作选择最多的时间,其他等价物包括在内,然后我们比较每一步的大小,选择最多的时间:


补充一下就是作为我们在循环的时后可以一直输入直到出现0

#include<iostream>
#include<algorithm>
using namespace std;
int n,l,t,ans[10005],ma;
int main()
{
   cin>>n;//几个工作 
    for(int i=1;i<=n;++i){
      cin>>i>>l;//序号 //工作时间 
        int tmp=0;
        while(cin>>t&&t)//当t!=0
            tmp=max(ans[t],tmp);//预备事件最大值 
        ans[i]=tmp+l;
        ma=max(ans[i],ma);//步数时间要最大值 
    } 
  cout<<ma;
    return 0;
 } 


相关文章
|
4月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-246 算法训练 猴子吃包子
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-246 算法训练 猴子吃包子
57 2
|
4月前
【错题集-编程题】买卖股票的最好时机(一)(贪心 + 动态规划)
【错题集-编程题】买卖股票的最好时机(一)(贪心 + 动态规划)
|
4月前
|
C语言
青蛙跳台阶:我如何得知它是一道斐波那契数列题?——应用题破题“三板斧”(一)
这篇内容介绍了C语言学习中的经典例题——斐波那契数列,强调了解题思路的重要性。斐波那契数列是一个数列,其中每个数是前两个数的和。文章指出,很多类似题目,如“青蛙跳台阶”,实质上都在考察斐波那契数列的实现。文中提供了斐波那契数列的定义、代码实现和递归与非递归的思路,并鼓励读者从问题中分析出解题模型,而非直接套用已知方法。此外,还提及了一道相关题目“矩形覆盖问题”,以供进一步练习。
35 0
|
4月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重
47 0
|
4月前
|
算法 Java C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-6 算法训练 安慰奶牛 最小生成树
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-6 算法训练 安慰奶牛 最小生成树
39 0
|
算法
【系统分析】数值算法——贪心法
【系统分析】数值算法——贪心法
94 0
|
存储 算法
【系统分析】数值算法——动态规划法
【系统分析】数值算法——动态规划法
105 0
|
算法 JavaScript 前端开发
日拱算法:什么是“煎饼排序”?
通过“煎饼翻转”来进行排序,叫“煎饼排序”,那什么是“煎饼翻转”呢?(禁止套娃🐶)
|
算法 JavaScript
两种高阶排序+四道简单力扣题带你走近“分而治之”
两种高阶排序+四道简单力扣题带你走近“分而治之”
103 0
两种高阶排序+四道简单力扣题带你走近“分而治之”
|
存储 算法