标签:pre lap clu display space eve alt out 矩阵
这题的思路好妙啊,一开始看到这题不会写(没瞄到m的范围
然后定睛一看$m<=2$!而且$n<=100$,一般按照这种题的尿性不是n3就是n3加个log...
可是我还是不会写啊qwq...三维...$f[i][j][k]$!都代表啥啊Qwq...到$(1,1)到$(i,j)$的矩阵中取k个的最大值?我不会啊qwq...
然后被大爷教了一波--这题水啊qwq...
首先分两类吧
m=1的情况,$f[i][K]$表示第1列i行取k个矩阵的最大值
$f[i][K]=max(f[I][K-1]+sum[i]-sum[I];$
$f[i][K])/f[i][K]=f[i-1][K];$
m=2的情况,$f[i][j][K]$表示第1列第i行和第2列第j行取k个矩阵的最大值
$F[i][j][K]=max(F[i-1][j][K],F[i][j-1][K]);$
$F[i][j][K]=max(F[I][j][K-1]+sum[i][0]-sum[I][0],F[i][j][K]);$
$F[i][j][K]=max(F[i][J][K-1]+sum[j][1]-sum[J][1],F[i][j][K]);$
$F[i][j][K]=max(F[i][j][K],F[I][I][K-1]+sum[j][1]-sum[I][1]+sum[i][0]-sum[I][0]);$
1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cmath> 5 using namespace std; 6 #define ll long long 7 #define inf 0x7fffffff 8 #define maxn 105 9 #define maxk 15 10 int f[maxn][maxk],F[maxn][maxn][maxk]; 11 int n,m,k; 12 13 int main() 14 { 15 cin>>n>>m>>k; 16 if(m==1) 17 { 18 int sum[maxn]={0}; 19 for(int i=1;i<=n;i++) 20 { 21 int x;cin>>x;sum[i]=sum[i-1]+x; 22 } 23 for(int i=1;i<=n;i++) 24 for(int K=1;K<=k;K++) f[i][K]=-inf; 25 for(int i=1;i<=n;i++) 26 for(int K=1;K<=k;K++) 27 { 28 f[i][K]=f[i-1][K]; 29 for(int I=0;I<i;I++) 30 f[i][K]=max(f[I][K-1]+sum[i]-sum[I],f[i][K]); 31 } 32 cout<<f[n][k]<<"\n"; 33 } 34 else 35 { 36 int sum[maxn][2]={0}; 37 for(int i=1;i<=n;i++) 38 for(int j=0;j<m;j++) 39 { 40 int x;cin>>x;sum[i][j]=sum[i-1][j]+x; 41 } 42 for(int i=1;i<=n;i++) 43 for(int j=1;j<=n;j++) 44 for(int K=1;K<=k;K++) F[i][j][K]=-inf; 45 for(int i=1;i<=n;i++) 46 for(int j=1;j<=n;j++) 47 for(int K=1;K<=k;K++) 48 { 49 F[i][j][K]=max(F[i-1][j][K],F[i][j-1][K]); 50 for(int I=0;I<i;I++)F[i][j][K]=max(F[I][j][K-1]+sum[i][0]-sum[I][0],F[i][j][K]); 51 for(int J=0;J<j;J++)F[i][j][K]=max(F[i][J][K-1]+sum[j][1]-sum[J][1],F[i][j][K]); 52 if(i==j) 53 for(int I=0;I<i;I++) 54 F[i][j][K]=max(F[i][j][K],F[I][I][K-1]+sum[j][1]-sum[I][1]+sum[i][0]-sum[I][0]); 55 } 56 cout<<F[n][n][k]<<"\n"; 57 } 58 return 0; 59 }
标签:pre lap clu display space eve alt out 矩阵
原文地址:http://www.cnblogs.com/ZincSabian/p/7944940.html