这周周一到家后疯玩了两天之后才开始学习,后几天没看文章,先做做题找找感觉。
总分 score inflation经典背包类问题,从容量1->m,每个容量都装到最大,从而求出最大m包,双层循环。
MATRIX矩阵类操作,在输入的时候对前缀和进行的操作,然后再用三层循环计算每个子矩阵的主对角线和副对角线长度。
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
x[i][j]=x[i-1][j-1]+a[i][j];//进行前缀和计数,x[][]表示主对角线
y[i][j]=y[i-1][j+1]+a[i][j];//y[][]表示副对角线
}
}
for(int k=1;k<=n;k++)
{
for(int i=k;i<=n;i++)
{
for(int j=k;j<=n;j++)
{
A=x[i][j]-x[i-k][j-k];//计算每个子矩阵的主对角线和副对角线长度
B=y[i][j-k+1]-y[i-k][j+1];
sum=max(sum,A-B);//进行运算
}
}
}
这周没怎么学,下周加油吧!