乙個好像很經典的題目,但是之前沒打過。
不過仔細想一想還是很容易的。
首先很容易想到把這個表現為矩陣字首和的形式,然後就是要求這個大於0。
然後就是乙個很經典的轉換套路了:本來是a[
k][l
]−a[
i−1]
[l]−
a[k]
[j−1
]+a[
i−1]
[j−1
]≥0 ,然後移一下項就變成了:a[
k][l
]−a[
i−1]
[l]≥
a[k]
[j−1
]−a[
i−1]
[j−1
] 。
那麼乙個很明顯的思路就是列舉k和i,然後二分乙個長度mid,用c[j]表示a[k][j]-a[i-1][j],然後用乙個陣列維護一下就好了。
#include
#include
#include
#include
#include
#define fo(i,a,b) for(i=a;i<=b;i++)
#define fod(i,a,b) for(i=a;i>=b;i--)
using
namespace
std;
typedef
long
long ll;
const
int maxn=307;
int i,j,k,l,t,n,m,ans,r,mid;
int a[maxn][maxn];
ll b[maxn][maxn],c[maxn],f[maxn];
int main()
}fo(i,1,n)fo(j,1,m)b[i][j]=a[i][j]+b[i-1][j]+b[i][j-1]-b[i-1][j-1];
f[0]=0;
fo(i,1,n)
l=0,r=m;
while(l1)/2;
bool bz=0;
fo(j,mid,m)
}if(bz)l=mid;else r=mid-1;
}ans=max((k-i+1)*l,ans);}}
printf("%d\n",ans);
}
視窗最大化
1 jframe 視窗最大化,在建構函式中 新增如下 this.setextendedstate jframe.maximized both 2 jinternalframe視窗最大化,需要在新增到jframe的desktoppane之後設定,如下 bookframe.setmaximum true...
最大化 如何將RPA的價值最大化?
自動化技術讓企業能夠更有效的利用資源,減少由於人為失誤而造成的風險損失。隨著科技的進步,實現自動化的途徑變得更加多樣化。據forrester 自動化技術將在2019年成為引領數位化轉型的前沿技術,幫助重塑商業模式和客戶體驗。但是市面上有那麼多提供自動化技術的產品,究竟選擇哪乙個更合適?尤其是當這些技...
CDialog窗體最大化
setwindowpos this m hwnd,hwnd topmost,0,0,0,0,swp nomove swp nosize centerwindow hdc hdesktopdc createdc t display null,null,null int xscrn getdevicec...