记忆化TLE?

P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

icaijy @ 2022-10-19 18:20:50

RT,记忆化怎么改?

#include <iostream>
using namespace std;

int fu[1005][1005];
int ck[1005][1005];

int n;
inline int dfs(int x,int y){
    if (ck[x][y]) return ck[x][y];
    if (x==n+1) {
        ck[x][y]==fu[x][y];
        return ck[x][y];
    }

    else {
        ck[x][y]=fu[x][y]+max(dfs(x+1,y),dfs(x+1,y+1));
        return ck[x][y];
    }
}
int main(){
    cin >> n;
    for (int i=1;i<=n;i++){
        for (int j=1;j<=i;j++){
            scanf("%d",&fu[i][j]);
        }
    }
    dfs(1,1);
    cout << ck[1][1];
}

第8个点 TLE


by fzy1026 @ 2022-10-19 18:29:56

第11行的

        ck[x][y]==fu[x][y];

应该是把赋值手滑打成了取等

另,建议把数组名定义为有意义的单词或单词缩写来帮助别人看懂你的代码而不是用无意义的脏话


by Alex_wcq @ 2022-10-19 19:21:58

@icaijy 您是不是想要被禁赛1年


by icaijy @ 2022-10-19 20:45:21

@fzy1026 谢,我改了还是89qwq

wyy的脏话是我和同学写代码闹着玩的,没有别的意思


|