poj1949Chores 简单的DP

来源:互联网 发布:最后的武士 长城 知乎 编辑:程序博客网 时间:2024/06/06 17:51
#include<iostream>#include<cstdio>#include<list>#include<algorithm>#include<cstring>#include<string>#include<queue>#include<stack>#include<map>#include<vector>#include<cmath>#include<memory.h>#include<set>#define ll long long#define LL __int64const ll INF=9999999999999;using namespace std;#define M 400000100#define inf 0xfffffff//vector<int,int> G[20002];//vector<pair<int,int>> ::iterator iter;//map<ll,int>mp;//map<ll,int>::iterator p;//int mp[212][212];int dp[10012];//dp[i]表示完成任务i需要的最短时间void clear(){memset(dp,0,sizeof(dp));}int main(void){int n;while(~scanf("%d",&n)){clear();int m,k,t;int ans=0;for(int i=1;i<=n;i++){int temp=0;scanf("%d %d",&t,&k);for(int j=1;j<=k;j++){scanf("%d",&m);temp=max(temp,dp[m]);}dp[i]=temp+t;ans=max(ans,dp[i]);}cout<<ans<<endl;}}

原创粉丝点击