- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最大连续子序列和精选
关于最长连续子序列的和的运用;1、 首先引入最长连续子序列和的概念;算法1
O(n*n);算法2 o(n);上题目!;三.最大子序列
题目描述:
上次数学考试考了一道这样的题目:一个有n个整数的数字序列,其间有正负整数,现在的任务是求出两段不相交的连续子序列,使这两段中的数字和最大。
输入数据:
第一行,一个数n,表示整数的个数。
第二行n个数,描述这个序列。
输出数据:
仅一行,表示最大的数字和。
输入样例:
10
1 2 -3 2 1 4 -3 2 1 2 (取子序列2,1,4和2,1,2,得到最大的和)
输出样例:
12
数据约定:
对于50%的数据,n=100;
对于70%的数据,n=1000;
对于100%的数据,n=1000000 ;这题目很简单就是最长连续自序列的变形。
求两端嘛。。
正向做一次 反向做一次
枚举中间分割线。;描述 Description ?
黄金矿工是一个经典的小游戏,它可以锻炼人的反应能力。该游戏中,可以通过“挖矿”获得积分并不断升级。玩家可以在线玩flash版黄金矿工,也可以下载 后玩单机版黄金矿工。目前,黄金矿工小游戏有多个版本,例如黄金矿工双人版,黄金矿工单人版等。Jimmy是一位黄金矿工,他所在的金矿是一个n*n的矩形区域(俯视),区域内有黄金、石头和TNT,由一个n*n的矩阵描述。黄金的价值对应矩阵中的正值,石头的价值对应矩阵中的负值,TNT由0表示。换句话说,挖到黄金赚钱,石头亏损,如果挖到TNT就挂了~_~Jimmy租到的挖矿工具很特别,它的形状是一个长宽任意(均为正整数)的矩形,可以取走被该工具覆盖的矩形区域内的所有物品,但如果该区域内有TNT, 该工具将被炸毁,此时Jimmy将不得不赔偿矿主+∞元!!!需要注意的是,该工具只能在金矿范围内使用(即不得超出金矿边界),且租金为每次使用十元。现在,Jimmy想知道,如果他至多只有一次租用该工具的机会,他能获得的最大收益是多少。当然,如果Jimmy租用该工具无论如何都会亏损,他可以不租用,此时收益为0.;;[说明]此题中出现的所有数全为整数[背景]SubRaY有一天得到一块西瓜,是长方体形的....[题目描述]SubRaY发现这块西瓜长m厘米,宽n厘米,高h厘米.他发现如果把这块西瓜平均地分成m*n*h块1立方厘米的小正方体,那么每一小块都会有一个营养值(可能为负,因为西瓜是有可能坏掉的,但是绝对值不超过200).现 在SubRaY决定从这m*n*h立方厘米的西瓜中切出mm*nn*hh立方厘米的一块小西瓜(一定是立方体形,长宽高均为整数),然后吃掉它.他想知道 他最多能获得多少营养值.(0=mm=m,0=nn=n,0=hh=h.mm,nn,hh的值由您来决 定).换句话说,我们希望从一个m*n*h的三维矩阵中,找出一个三维子矩阵,这个子矩阵的权和最大. ;一个2*3*4的例子,最优方案为切红色2*3*1部分[数据范围]对于30%的数据,h=1,1=m,n=10对于全部的数据,1=h=32,1=m,n=50,保证h=m,n ;输入格式
首行三个数h,m,n(注意顺序),分别表示西瓜的高,长,宽.以下h部分,每部分是一个m*n的矩阵,第i部分第j行的第k个数表示西瓜第i层,第j行第k列的那块1立方厘米的小正方体的营养值.;;压成二维,,再压成一维 就变成一个连续子序列和的问题了
; 枚举边界
for k:= h downto 1 do
for kk:= 0 to k-1 do //枚举上下边界
for j:= m downto 1 do
for jj:= 0 to j-1 do //枚举列的上下边界 ;
s[i]:=a[i,j,k]-a[i,jj,k]-a[i,j,kk]+a[i,jj,kk];
容斥。。
最后那个部分减了两次 和二维有点不同。
文档评论(0)