题目名称 455. 多重数列
输入输出 linesum.in/out
难度等级 ★★
时间限制 2000 ms (2 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarPom 于2010-09-01加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:15, 提交:32, 通过率:46.88%
GravatarMakazeu 100 7.569 s 7.89 MiB C++
GravatarMakazeu 100 7.605 s 7.90 MiB C++
GravatarPom 100 7.714 s 15.52 MiB C++
GravatarPom 100 7.799 s 15.52 MiB C++
Gravatarkaaala 100 7.824 s 7.90 MiB C++
GravatarCzb。 100 7.847 s 7.89 MiB C++
Gravatarecho 100 8.143 s 7.75 MiB Pascal
Gravatarwo shi 刘畅 100 8.218 s 42.08 MiB Pascal
GravatarYeehok 100 8.280 s 7.89 MiB C++
GravatarDes. 100 8.985 s 7.75 MiB Pascal
关于 多重数列 的近10条评论(全部评论)

455. 多重数列

★★   输入文件:linesum.in   输出文件:linesum.out   简单对比
时间限制:2 s   内存限制:128 MiB

给出n个长度为m的数字序列S1,S2..Sn,找出一个子序列S',使得S'的各项和最大,
且S'中的相邻两个元素在原串中的位置差必须是2^k+1(k>0),
比如说,选取了第1个元素,下一个只能选取第4个,第6个,第10个…(距离相差2^1+1,2^2+1,2^3+1…)

如果选取了原串中第k个元素,则可以从S1[k],S2[k],S3[k]...Sn[k]中任选一个加入S'

输入格式:
第一行有两个整数n,m
第2到n+1行,每行有一个长度为m的数字序列

输出格式:
一行,最大的子序列和值

样例输入:
2 10
1 0 -1 3 2 1 -4 10 1 3
2 3 -2 -7 3 4 1 2 4 9

样例输出
16
(第2个序列的第2个,第5个和第一个序列的第8个)


数据规模:
对于30%的数据,m<=10000
对于100%的数据 m<=1000000,n<=5,答案不超过longint/int范围