求解,我这种写法难道不是O(n^2)吗?怎么会re
查看原帖
求解,我这种写法难道不是O(n^2)吗?怎么会re
366547
CY666楼主2020/12/15 16:54
#include<bits/stdc++.h>
using namespace std;
const int MAX=101;
int d[MAX][MAX];
int n;
int maxsum[MAX][MAX];
int Maxsum(int i,int j)
{
	if(maxsum[i][j]!=-1)
	{
		return maxsum[i][j];
	}
	if(i==n)
	{
		maxsum[i][j]=d[i][j];
	}
	else
	{
		int x=Maxsum(i+1,j);
		int y=Maxsum(i+1,j+1);
		maxsum[i][j]=max(x,y)+d[i][j];
	}
	return maxsum[i][j];
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=i;j++)
		{
			cin>>d[i][j];
			maxsum[i][j]=-1;
		}
	}
	cout<<Maxsum(1,1)<<endl;
	return 0;
}
2020/12/15 16:54
加载中...