解题:
用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];
}
};