POJ 1949 Chores
2013-01-12 17:09
288 查看
USACO
2002 February 的一道题
题意是,有很多项工作,每个工作有完成所需的时间,而每一个工作可能会有一些前提工作,前提工作没完成就不能做这项工作。可以有多个工作同时进行。
思路是这样的。完成一项工作必然需要完成其所有的前提工作,因为工作是可以同时进行的,所以我可以再完成前提工作中最晚完成的那项之后,马上开始这项工作,所以这项工作完成的时间就是dp[i]=max(dp[pr[j]])+w[i];
在其中找到完成时间最晚的那项工作就行了。
2002 February 的一道题
题意是,有很多项工作,每个工作有完成所需的时间,而每一个工作可能会有一些前提工作,前提工作没完成就不能做这项工作。可以有多个工作同时进行。
思路是这样的。完成一项工作必然需要完成其所有的前提工作,因为工作是可以同时进行的,所以我可以再完成前提工作中最晚完成的那项之后,马上开始这项工作,所以这项工作完成的时间就是dp[i]=max(dp[pr[j]])+w[i];
在其中找到完成时间最晚的那项工作就行了。
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int time[11000]; int main() { int n,tim,c,t,tm,ans,i; scanf("%d",&n); ans=0; for (i=1; i<=n; i++) { scanf("%d%d",&tim,&c); tm=0; while (c--) { scanf("%d",&t); tm=time[t]>tm?time[t]:tm; } time[i]=tm+tim; ans=time[i]>ans?time[i]:ans; } printf("%d\n",ans); }
相关文章推荐
- poj 1949 Chores
- POJ 1949 Chores
- poj1949 Chores SPFA
- (POJ DP1.1)POJ 1949 Chores(简单DP)
- POJ 1949 Chores (DP+拓扑)
- poj 1949 Chores(基础题)
- POJ 1949 Chores
- poj 1949 Chores
- poj 1949 Chores 最长路
- POJ 1949 Chores(DP)
- poj 1949——Chores
- 【poj 1949】Chores
- POJ 1949 Chores
- poj 1949 Chores
- POJ 1949 Chores(树状DP)
- POJ 1949 Chores(树形dp)
- [poj 1949]Chores 题解 [dp]
- POJ 1949 Chores 动态规划
- poj 1949 Chores
- POJ 1949 Chores