吉哥系列故事——臨時工計劃
阿新 • • 發佈:2019-01-25
http://acm.hdu.edu.cn/showproblem.php?pid=4502
#include<iostream> #include<stdio.h> #include<algorithm> #include<vector> using namespace std; int main() { int i,j,s,n,e,m,dp[1010],var; vector<int> c[1010]; vector<int> w[1010]; int T; scanf("%d",&T); while(T--){ scanf("%d%d",&m,&n); for(i=0;i<=m;i++) { dp[i]=0; c[i].clear(); w[i].clear(); } for(i=0;i<n;i++){ scanf("%d%d%d",&s,&e,&var); if(e>m) continue; c[e].push_back(s); w[e].push_back(var); } for(i=1;i<=m;i++) { dp[i]=dp[i-1]; int k=c[i].size(); for(j=0;j<k;j++) dp[i]=max(dp[i],dp[c[i][j]-1]+w[i][j]); } printf("%d\n",dp[m]); } }