题目名称 902. 乐曲主题
输入输出 theme.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 15
题目来源 Gravatarsywgz 于2012-07-12加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:99, 提交:266, 通过率:37.22%
GravatarHzoi_Mafia 100 0.000 s 0.00 MiB C++
GravatarCooook 100 0.000 s 0.00 MiB C++
Gravatarkito 100 0.003 s 0.50 MiB C++
GravatarGo灬Fire 100 0.004 s 0.48 MiB C++
GravatarL_in 100 0.006 s 0.45 MiB C++
GravatarHZOI_蒟蒻一只 100 0.007 s 0.10 MiB C++
GravatarFancy、 100 0.007 s 0.85 MiB C++
Gravatarstdafx.h 100 0.009 s 0.44 MiB C++
Gravatar咸鱼二号 100 0.009 s 0.45 MiB C++
Gravatar_Itachi 100 0.009 s 0.82 MiB C++
关于 乐曲主题 的近10条评论(全部评论)
yeah
GravatarCSU_Turkey
2017-12-02 22:15 16楼
主题是子串还是子序列啊,我按照子串写的,结果过了???
GravatarContinue
2017-11-04 20:54 15楼
做过$Sandy$的卡片再做这个感觉好熟悉
GravatarHzoi_Mafia
2017-09-28 21:10 14楼
我怀疑这个也是楼教主男人八题啊……除了内存大了一点……
可是poj就是不让我成男人……还是因为超时……
GravatarHZOI_蒟蒻一只
2017-06-14 10:28 13楼
首题
Gravatarconfoo
2017-03-13 21:10 12楼
哈希+哈希表水过。。。
Gravatar可以的.
2017-03-06 16:49 11楼
终于学会哈希了......
好感动......
GravatarAntiLeaf
2016-10-14 20:58 10楼
差分之后把自己差懵了。。。。。
GravatarKZNS
2016-07-15 12:52 9楼
居然把邻接表打错了。
Gravatar/k
2016-01-17 18:36 8楼
注意二分的边界……
Gravatar一個人的雨
2016-01-01 16:03 7楼

902. 乐曲主题

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

【题目描述】

我们用N(1 <= N <=5000)个音符的序列来表示一首乐曲,每个音符都是1..88范围内的整数,每个数表示钢琴上的一个键。很不幸这种表示旋律的方法忽略了音符的时值,但这项编程任务是关于音高的,与时值无关。

许多作曲家围绕一个重复出现的“主题”来构建乐曲。在我们的乐曲表示法中,“主题”是整个音符序列的一个子序列,它需要满足如下条件:

1.长度至少为5个音符;

2.在乐曲中重复出现(可能经过转调,见下);

3.重复出现的同一主题不能重叠。

“转调”的意思是主题序列中每个音符都被加上或减去了同一个整数值。

给定一段乐曲,计算其中最长主题的长度(即音符数)。

【输入格式】

输入文件的第一行包含整数N。下面的每一行(最后一行可能除外)包含20个整数,表示音符序列。最后一行可能少于20个音符。

【输出格式】

输出文件应只含一个整数,即最长主题的长度。如果乐曲中没有主题,那么输出0。

【输入样例】

30
25 27 30 34 39 45 52 60 69 79 69 60 52 45 39 34 30 26 22 18
82 78 74 70 66 67 64 60 65 80

【输出样例】

5

【样例解释】

这个长度为5的主题是输入文件中第一行的最后5个音符和第二行开头5个音符。