求助,为什么超时了?

P1130 红牌

@[xvl_](/user/760266) 没暴力吧,动态规划就是这样吧
by kingOIER @ 2023-03-16 17:30:00


@[kingLOL](/user/808143) 数组开小了
by xvl_ @ 2023-03-16 17:30:16


@[kingLOL](/user/808143) 看错了
by xvl_ @ 2023-03-16 17:30:32


@[kingLOL](/user/808143) 开大数组至少不超时了
by bamboo1030 @ 2023-03-16 17:34:16


@[kingLOL](/user/808143) 改成这样就过了 ```cpp #include<iostream> #include<bits/stdc++.h> using namespace std; long a[2005][2005]; long long s[2005][2005]; int main() { int n,m; cin>>n>>m; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { cin>>a[j][i]; } } for(int i=1;i<=n;i++) { s[i-1][0]=s[i-1][m]; for(int j=1;j<=m;j++) { s[i][j]=min(s[i-1][j],s[i-1][j-1])+a[i][j]; } } long long minn=s[n][1]; for(int j=2;j<=m;j++) { minn=min(minn,s[n][j]); } cout<<minn; return 0; } ```
by xvl_ @ 2023-03-16 17:44:08


其实改成 ``` long minn=s[n][1]; ``` 就过了
by xvl_ @ 2023-03-16 17:45:46


@[kingLOL](/user/808143) 初值开小了哎呦
by bamboo1030 @ 2023-03-16 17:50:56


@[xvl_](/user/760266) 为什么是long?为什么要等于s[n][1]?
by kingOIER @ 2023-03-16 20:32:12


@[kingOIER](/user/808143) 其实改成 `int` 也没问题,只要设成正无穷大也行,例如 `1e9` 也没问题,其实就是另外一名神犇说的 “初值开小了”问题。
by xvl_ @ 2023-03-16 22:40:50


口误了,是“就”行。
by xvl_ @ 2023-03-16 22:41:17


|