就很,有大佬看看吗
by Inferior_dust @ 2023-07-11 16:36:37
完整代码有吗?
by ShwStone @ 2023-07-11 16:45:04
按理说应该不影响吧
by 童年的小翼龙 @ 2023-07-11 16:48:24
写 $\le$ 是可以过的呀,[评测记录](https://www.luogu.com.cn/record/114921210),是你别的地方写的有问题吧。
by Kycida @ 2023-07-11 16:52:11
完整的在这了
```
#include <iostream>
using namespace std ;
int s ;
int a[1010] ;
int f[1010][1010];
int yue ( int x ) {//求有多少个约数
if ( x <= 3 ) return 1 ;
else {
int sum = 1 ;
for ( int i = 2 ; i * i <= x ; i ++ ) {
if ( x % i == 0 ) {
sum += i ;
if ( x / i != i ) sum += ( x / i ) ;
}
}
return sum ;
}
}
int lsp ( ) {
int maxx = -0x7fffffff ;
for ( int i = 1 ; i <= s ; i ++ ) {
// for ( int j = 1 ; i <= s ; j ++ ) f[i][j] = f[i - 1][j] ;
for ( int j = 1 ; j <= s ; j ++ ) {
if ( s % 2 == 0 ) {
if ( j >= i ) {
f[i][j] = max ( f[i - 1][j] , f[i - 1][j - i]+ a[i] ) ;
}
else f[i][j] = f[i - 1][j] ;
// cout << f[i][j] << ' ' ;
if ( f[i][j] > maxx ) maxx = f[i][j] ;
}
else {
if ( j > i ) {
f[i][j] = max ( f[i - 1][j] , f[i - 1][j - i]+ a[i] ) ;
}
else f[i][j] = f[i - 1][j] ;
// cout << f[i][j] << ' ' ;
if ( f[i][j] > maxx ) maxx = f[i][j] ;
}
}
// cout << endl ;
}
return maxx ;
}
int main ( )
{
cin >> s ;
for ( int i = 1 ; i <= s ; i ++ ) {
a[i] = yue ( i ) ; //初始化a
// cout << a[i] << ' ' ;
}
// cout << endl << endl ;
cout << lsp ( ) << endl ;
return 0 ;
}
```
在这了
by Inferior_dust @ 2023-07-12 10:45:39