問題解決:
dp [i]を使用して、長さiでのロープの最大積を格納します。これは、以前の最大積0〜i-1に関連しています。
class Solution {
public:
//vector<int> arr;
int cuttingRope(int n) {
vector<int> dp(n+1,0);
dp[1]=1;
for(int i=2;i<=n;i++){
for(int j=i-1;j>=1;j--)
dp[i]=max(dp[i],max(j,dp[j])*(i-j));
}
return dp[n];
}
};