社区讨论
求大佬看一下状转
P1005[NOIP 2007 提高组] 矩阵取数游戏参与者 3已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @mi86appy
- 此快照首次捕获于
- 2025/11/21 09:19 4 个月前
- 此快照最后确认于
- 2025/11/21 09:19 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
const int maxs=80+3;
long long n,m,ans=0;
long long a[maxs][maxs];
long long f[maxs][maxs][maxs];
long long max(long long x,long long y){return x>y?x:y;};
long long Pow(int x)
{
if(x<=0) return 1;
long long num=1;
while(x--) num*=2;
return num;
}
int main()
{
memset(f,0,sizeof(f));
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%lld",&a[i][j]);
for(int i=1;i<=n;i++)
{
for(int j=m;j>=1;j--)
for(int k=j;k<=m;k++)
f[i][j][k]=max(f[i][j+1][k]+a[i][j]*Pow(k-j+1),f[i][j][k-1]+a[i][k]*Pow(k-j+1));
}
for(int i=1;i<=n;i++) ans+=f[i][1][m];
cout<<ans<<endl;
return 0;
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...