社区讨论
求助-怎么优化?
P7074[CSP-J 2020] 方格取数参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @locyo52z
- 此快照首次捕获于
- 2023/10/30 21:54 2 年前
- 此快照最后确认于
- 2023/11/05 08:15 2 年前
CPP
//T470
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll inf=0x3f3f3f3ff3f3f3f;
ll dp[1010][1010];
ll a[1010][1010];
ll st[1010];
ll n,m;
int main(){
// freopen("number.in","r",stdin);
// freopen("number.out","w",stdout);
scanf("%lld%lld",&n,&m);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%lld",&a[i][j]);
dp[i][j]=-inf;
}
}
dp[n-1][m-1]=a[n-1][m-1];
for(int i=n-2;i>=0;i--){
dp[i][m-1]=a[i][m-1]+dp[i+1][m-1];
}
for(int j=m-2;j>=0;j--){
memset(st,0,sizeof st);
for(int i=0;i<n;i++){
st[i]=st[max(0,i-1)]+a[i][j];
}
for(int i=0;i<n;i++){
for(int ii=0;ii<n;ii++){
dp[i][j]=max(dp[i][j],dp[ii][j+1]+st[max(ii,i)]-st[min(ii,i)]+a[min(ii,i)][j]);
}
}
}
cout<<dp[0][0];
return 0;
}
TLE 70
回复
共 5 条回复,欢迎继续交流。
正在加载回复...