POJ-1050To the Max
2016-04-15 00:25
344 查看
[b]TotheMax[/b]
TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)
Description
Givenatwo-dimensionalarrayofpositiveandnegativeintegers,asub-rectangleisanycontiguoussub-arrayofsize1*1orgreaterlocatedwithinthewholearray.Thesumofarectangleisthesumofalltheelementsinthatrectangle.Inthisproblemthesub-rectanglewiththelargestsumisreferredtoasthemaximalsub-rectangle.
Asanexample,themaximalsub-rectangleofthearray:
0-2-70
92-62
-41-41
-180-2
isinthelowerleftcorner:
92
-41
-18
andhasasumof15.
Input
TheinputconsistsofanN*Narrayofintegers.TheinputbeginswithasinglepositiveintegerNonalinebyitself,indicatingthesizeofthesquaretwo-dimensionalarray.ThisisfollowedbyN^2integersseparatedbywhitespace(spacesandnewlines).ThesearetheN^2integersofthearray,presentedinrow-majororder.Thatis,allnumbersinthefirstrow,lefttoright,thenallnumbersinthesecondrow,lefttoright,etc.Nmaybeaslargeas100.Thenumbersinthearraywillbeintherange[-127,127].
Output
Outputthesumofthemaximalsub-rectangle.
SampleInput
SampleOutput
TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)
Description
Givenatwo-dimensionalarrayofpositiveandnegativeintegers,asub-rectangleisanycontiguoussub-arrayofsize1*1orgreaterlocatedwithinthewholearray.Thesumofarectangleisthesumofalltheelementsinthatrectangle.Inthisproblemthesub-rectanglewiththelargestsumisreferredtoasthemaximalsub-rectangle.
Asanexample,themaximalsub-rectangleofthearray:
0-2-70
92-62
-41-41
-180-2
isinthelowerleftcorner:
92
-41
-18
andhasasumof15.
Input
TheinputconsistsofanN*Narrayofintegers.TheinputbeginswithasinglepositiveintegerNonalinebyitself,indicatingthesizeofthesquaretwo-dimensionalarray.ThisisfollowedbyN^2integersseparatedbywhitespace(spacesandnewlines).ThesearetheN^2integersofthearray,presentedinrow-majororder.Thatis,allnumbersinthefirstrow,lefttoright,thenallnumbersinthesecondrow,lefttoright,etc.Nmaybeaslargeas100.Thenumbersinthearraywillbeintherange[-127,127].
Output
Outputthesumofthemaximalsub-rectangle.
SampleInput
4 0-2-7092-62 -41-41-1 80-2
SampleOutput
15 总结 虽然做了dp有一段时间了,但感觉还是一脸懵逼,看到这道题时完全没有思路,然后又是各种翻博客,看了半天才明白应该用什么思路,或许我就是一个 见得多才做的了题的人吧,以前弄奥数也是,很少有自己一次性做出来的新题,我要总结过这些思路后才想到怎么做。总之,在这个题我也学到了许多, 如何将二维转化为一维,如何求最长子串(请原谅我忘记了o(╯□╰)o)。
#include<iostream> #include<cstdio> #include<cstring> usingnamespacestd; #defineinf0x3f3f3f3f; intmat[105][105]; inttemp[105]; intn; intmain() { intmax; cin>>n; for(inti=1;i<=n;i++){ for(intj=1;j<=n;j++){ scanf("%d",&mat[i][j]); } } max=-inf; for(inti=1;i<n;i++){ memset(temp,0,sizeof(temp)); for(intj=i;j<=n;j++){ intsum=0,max1=0; for(intk=1;k<=n;k++){ temp[k]+=mat[j][k]; sum+=temp[k]; if(sum<0)sum=0; if(sum>max1)max1=sum; } if(max<max1)max=max1; } } cout<<max<<endl; return0; }
相关文章推荐
- Counting Bits leetcode 338
- hdu 3010
- OSChina 周五乱弹 ——程序员的友谊小船是如何说翻就翻的
- vim 插件之NERD tree
- [LeetCode]60. Permutation Sequence
- JS实现图片懒加载
- 【BZOJ1013】球形空间产生器sphere 高斯消元
- 3.1.3 Memcached的安装(1)
- 关于js封装框架类库之DOM操作模块(二)
- uboot下用SecureCRT脚本实现一键烧写linux
- 数据结构--链队列基本操作
- 习题7-2 UVA - 225 Golygons (简单的暴力回溯法+剪枝)
- 浅谈栈和队列的有关面试题
- HDU1542 Atlantis(线段树+扫描线)
- 初步理解MVC与MVP
- 下拉框默认加载
- 执行多个命令的方法和script 监控 操作记录
- Java学习之Iterator(迭代器)的一般用法
- windows+curl+elasticsearch
- 一起来瞧虚拟化——vtpm实战