第一次用动态规划做的过了,看题解说用搜索加记忆能做。本蒟蒻昨天刚学的记忆化搜索,才做了一道题。于是想加深一下理解。结果用记忆化倒数第二个测试点TLE。我怀疑是不是数据加强过了,现在记忆化能做吗?
int n,a[1005][1005],dp[1005][1005],ans;
int mem[1005][1005];
int solve(int x, int y){
if(x==n) return a[x][y];
return mem[x][y]?mem[x][y]:(mem[x][y]=max(solve(x+1,y),solve(x+1, y+1))+a[x][y]);
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i){
for (int j=1; j<=i; ++j) {
scanf("%d",&a[i][j]);
}
}
printf("%d",solve(1, 1));
return 0;
}