CE求助

P1734 最大约数和

```cpp dp[j]=max(dp[j],dp[jv[i]]+w[i]); `` 你这个max里面dp[j]后面是不是少打了什么
by ChickenDrinkingMilk @ 2022-02-19 11:26:02


@[Tidyhitler](/user/661144) dp改为一维数组
by int233 @ 2022-02-19 11:30:20


@[刘煜周](/user/494192) 麻烦您说详细一点
by Tidyhitler @ 2022-02-19 11:42:31


@[int233](/user/333855) 谢谢,在哪输出?
by Tidyhitler @ 2022-02-19 11:43:40


好了; ```c #include<bits/stdc++.h> using namespace std; int num(int n){ int sum=0; for(int i=1;i<n;i++){ if(n%i==0){ sum+=i; } } return sum; } int v[1100],w[1100],dp[1100]; int main(){ int s; cin>>s; for(int i=1;i<=s;i++){ w[i]=num(i); } for(int i=1;i<=s;i++){ for(int j=s;j>=i;j--){ dp[j]=max(dp[j],dp[j-i]+w[i]); } } cout<<dp[s]; return 0; } ```
by Tidyhitler @ 2022-02-20 10:28:59


|