有被震惊到

P1734 最大约数和

就很,有大佬看看吗
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


|