题目名称 | 455. 多重数列 |
---|---|
输入输出 | linesum.in/out |
难度等级 | ★★ |
时间限制 | 2000 ms (2 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 |
|
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:15, 提交:32, 通过率:46.88% | ||||
|
100 | 7.569 s | 7.89 MiB | C++ |
|
100 | 7.605 s | 7.90 MiB | C++ |
|
100 | 7.714 s | 15.52 MiB | C++ |
|
100 | 7.799 s | 15.52 MiB | C++ |
|
100 | 7.824 s | 7.90 MiB | C++ |
|
100 | 7.847 s | 7.89 MiB | C++ |
|
100 | 8.143 s | 7.75 MiB | Pascal |
|
100 | 8.218 s | 42.08 MiB | Pascal |
|
100 | 8.280 s | 7.89 MiB | C++ |
|
100 | 8.985 s | 7.75 MiB | Pascal |
关于 多重数列 的近10条评论(全部评论) |
---|
给出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范围