1050 To the Max 解题报告

41 篇文章 0 订阅
21 篇文章 0 订阅

AccecptTime:  2009-02-03 22:59:35
Language: G++
Memory:  4100K
Time:  1672 ms
Errors:  1 wa
Algorithm: DP

 

呵呵,这题是最大子序列的衍生题,由一维变二维的.

我的做法是用一个二维数组(max)将从第一至当前(第i)行的每一对子序列纪录下来,如i=3时max[2][4]储存的是从1到3行,2到4列中宽度为3的最大子矩阵.(乱...)

做出来的时候发现怎么用了1秒多!google了一下,找到大牛china8848的解题报告.解法精妙而且只用了15ms.仔细比较他的算法时间复杂度也是(o3)啊,于是把他的代码提交了一下.RE.原来是数据改了,我改了一下(对不住了大牛),提交,ac,800ms.我想这应该是因为时间常量的问题.毕竟我用的是二维数组,大牛用的是一维.

这里我没有和大牛比较的意思,只是抱着学习的态度看这些代码.不过我相信很快我就可以用自己的能力写出更好的代码的,呵呵~~

 

照旧把鄙人的代码贴出来:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值