哪位大佬来看一下啊

P1005 [NOIP2007 提高组] 矩阵取数游戏

@[黑曜守护Violet](/space/show?uid=108652) 这题不是DP吗?思路不对吧。
by Sai0511 @ 2018-09-18 19:39:09


@[黑曜守护Violet](/space/show?uid=108652) ```cpp #include<bits/stdc++.h> #define cdint __int128 using namespace std; cdint i,j,n,k,m,jg; cdint dp[100][100],a[100][100]; namespace Fastio{ inline cdint read(){ cdint x=0,f=1;char c=getchar(); while(!isdigit(c)) {if(c=='-')f=-1;c=getchar();} while(isdigit(c)) {x=x*10+c-48;c=getchar();} return x; } void write(cdint x){ if(x<0){putchar('-');x=-x;} if(x/10>0) write(x/10); putchar(x%10+48); return; } } using namespace Fastio; int main(){ n=read();m=read(); for(i=1;i<=n;i++) for(j=1;j<=m;j++) a[i][j]=read(); for(i=1;i<=n;i++){ for(int ii=1;ii<=n;ii++){ for(int jj=1;jj<=m;jj++) dp[ii][jj]=0; } for(j=0;j<=m;j++){ for(k=1;k+j<=m;k++) dp[k][j+k]=max(2*dp[k+1][j+k]+2*a[i][k],2*dp[k][j+k-1]+2*a[i][j+k]); } jg+=dp[1][m]; } write(jg); } ```
by Sai0511 @ 2018-09-18 19:40:18


|