有被震惊到
查看原帖
有被震惊到
817704
Inferior_dust楼主2023/7/11 16:33

我原来的程序交上去只有60,后来我不断的研究发现是一个地方有问题

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] ;

就是这一段,重点看看if(j>=i)我发现了我用这个时,答案有时会多1,然后我改了if(j>i)发现有时答案会少1。于是我就突然想到是不是s是偶数时要if(j>=i),奇数时要if(j>i)。然后,然后我就逝了,没想到AC了,就离谱。

2023/7/11 16:33
加载中...