SRM 527 DIV1 Easy - P8XGraphBuilder

問題


http://community.topcoder.com/stat?c=problem_statement&pm=11308&rd=14552

解き方


dpで解く。最終的に2*n−2個のエッジが発生する。

コード


class P8XGraphBuilder {

public: int solve(vector<int> scores) {
int n=scores.size()+1;
int dp[n+1][2*n-1];

FORE(i,0,n+1)FORE(j,0,2*n-1)dp[i][j]=-(1e+9);
dp[0][0]=0;

for(int i=0;i<n;i++)for(int j=i;j<2*n-2;j++){
for(int k=0;k<n-1&&j+k+1<=2*n-2;k++){
dp[i+1][j+k+1]=max(dp[i+1][j+k+1],dp[i][j]+scores[k]);
}
}

return dp[n][2*n-2];
}

};

Share this

Related Posts

Previous
Next Post »