John 有需要完成的n个杂务的清单,并且这份清单是有一定顺序的,杂务k(k>1) 的准备工作只可能在杂务 1 至k−1 中。 写一个程序依次读入每个杂务的工作说明。计算出所有杂务都被完成的最短时间。当然互相没有关系的杂务可以同时工作,并且,你可以假定 John 的农场有足够多的工人来同时完成任意多项任务。 【输入...
比如本题,杂务\(k(k>1)\)的准备工作只可能在杂务\(1\)至\(k-1\)中,所以发现这个图是没有环的。 二、DAG的建图 通过本题可以看出,DAG的建图一般是给出下级结点,然后,告之它的上级结点有哪些,用邻接表保存中,采用类似于下面的办法: vector<int> edge[N]; //出边链表 edge[y].push_back(x); /...
John有需要完成的n个杂务的清单,并且这份清单是有一定顺序的,杂务k(k>1)的准备工作只可能在杂务1..k-1中。 写一个程序从1到n读入每个杂务的工作说明。计算出所有杂务都被完成的最短时间。当然互相没有关系的杂务可以同时工作,并且,你可以假定John的农场有足够多的工人来同时完成任意多项任务。 输入输出格式 输...
1、递推法 由于杂务k (k>1)的准备工作只可能在杂务1至k−1中,因此可以通过前面的杂务完成所需时间推出后面的杂务完成所需时间。 由于杂务可能有很多前序任务,每个杂务能完成的时间取决于前序任务中耗时最久的一个。 由于数据是按照工作序号递增给出的,可以在读取数据的时候计算完成每个任务所需的时间。 完成...
洛谷P1113 杂务 拓扑排序 题目链接:https://www.luogu.org/problemnew/show/P1113 思路: 1:拓扑排序 2:每一个节点的最早完成时间等于其前驱结点中最晚的那一个的完成时间加上该节点本身的完成时间 mx[i]=max(mx[i],mx[d]+ti[i]);...
杂务题目描述John 的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。比如:他们要将奶牛集合起来,将他们赶进牛棚,为奶牛清洗乳房以及一些其它工作。尽早将所有杂务完成是必要的,因为这样才有更多时间挤出更多的牛奶。当然,有些杂务必须在另一些杂务完成的情况下才能进行。比如:只有将奶牛赶进...
洛谷P1113. 杂务 #include<bits/stdc++.h>usingnamespacestd;constintN =10010, M =1000010;intn;intd[N], T[N], f[N];inth[N], e[M], ne[M], idx;queue<int> q;intans;voidadd(inta,intb){ e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;...
洛谷P1113 杂务 题目: 题目描述 John的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。比如:他们要将奶牛集合起来,将他们赶进牛棚,为奶牛清洗***以及一些其它工作。尽早将所有杂务完成是必要的,因为这样才有更多时间挤出更多的牛奶。当然,有些杂务必须在另一些杂务完成的情况下才能进行。
洛谷P1113 杂务 拓扑排序 https://www.luogu.org/problem/P1113 题目描述 John的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。比如:他们要将奶牛集合起来,将他们赶进牛棚,为奶牛清洗乳房以及一些其它工作。尽早将所有杂务完成是必要的,因为这样才有更多时间挤出更多的牛奶。当然,有些...
P1113-杂务 #include <bits/stdc++.h>usingnamespacestd;#definepb push_back#define_for(i,a,b) for(int i = (a);i < (b);i ++)#defineINF 100000003#definell long longinline ll read() { ll ans=0;charch = getchar(), last ='';while(!isdigit(ch)) last = ch, ch =getchar();...