摘要:一维的DP非常的弱然后二维的时候跟一维差不多,多了个宽为2的矩形f[i][j][k],i为左侧长度,j为右侧长度,然后枚举i,j就可以了具体可以看看clj大神的题解,我就不多说什么了 1 #include 2 #include 3 #include 4 using namespace std; 5 int i,j,k,a,b,c,n,m,x,y; 6 int s1[101]={}; 7 int s2[101]={}; 8 void work1() 9 {10 int f[101][11]={};11 for(i=1;i=c-1)23 ... 阅读全文
posted @ 2014-03-16 17:09 wyc 阅读(275) 评论(0) 推荐(1) 编辑
摘要:基本和玉蟾宫一样就是判断条件和一些细节不同而已。。。 1 #include 2 #include 3 #include 4 using namespace std; 5 int i,j,k,n,m,a,squ,ch,x,y,z; 6 int e[2001][2001]={}; 7 int h[2001][2001]={}; 8 int l[2001][2001]={}; 9 int r[2001][2001]={};10 int li[2001][2001]={};11 int ri[2001][2001]={};12 int main()13 {14 scanf("%d%d&quo 阅读全文
posted @ 2014-03-16 16:48 wyc 阅读(167) 评论(0) 推荐(1) 编辑
摘要:悬线法求极大子矩阵h为高度,l为左端极值,r为右端极值就有递推方程当块为R时h[i][j]=0l[i][j]=0r[i][j]=m+1当块为F时h[i][j]=h[i-1][j]l[i][j]=min(l[i-1][j],不为R的最左端+1)r[i][j]=max(r[i-1][j],不为R的最右端-1)然后搞一搞就可以了 1 #include 2 #include 3 using namespace std; 4 int i,j,k,a,b,c,n,m,sm; 5 char s; 6 bool e[1001][1001]={}; 7 int r[1001][1001]={}; 8 int h 阅读全文
posted @ 2014-03-16 16:43 wyc 阅读(224) 评论(0) 推荐(0) 编辑