POJ 3167 Cow Patterns 已翻译

来源:互联网 发布:前端ajax模拟数据 编辑:程序博客网 时间:2024/05/20 07:16

描述

农民约翰的牛的K(1 <= K <= 25,000)的特定子群喜欢麻烦。当放置在一条线上时,这些麻烦制造者以特定的顺序站在一起。为了找到这些麻烦制造者,FJ排列了他的N(1 <= N <= 100,000)头牛。奶牛将把FJ过去放进谷仓,按顺序停留。FJ需要你的帮助,以定位可疑块的K牛在这条线,可能是麻烦的牛。

FJ将他的母牛与每只母牛外套上的斑点数量相区分(1 <= S <= 25)。虽然不是一个完美的方法,它服务于他的目的。FJ不记得在麻烦制造者亚群中每只牛的确切数量。然而,他可以记住组中的哪些牛具有相同数量的斑点,并且任何一对牛中的哪些牛具有更多斑点(如果斑点计数不同)。他描述了具有在1范围内的K个等级的序列的这样的模式。例如,考虑这个序列:

      
1 4 4 3 2 1
在这个例子中,FJ正在从他的N个牛中找到6个牛的连续序列。这个序列中的奶牛#1和#6具有相同数量的斑点(尽管该数量不一定是1),并且它们具有奶牛#1 ..#6(因为它们被标记为'1')的斑点的最小数量。 牛#5具有第二小数量的斑点,不同于所有其他牛#1 ..#6。奶牛#2和#3具有相同数量的斑点,并且该数量是所有奶牛#1 ..#6中最大的。

如果一些奶牛的斑点的真实计数是:

 
5 6 2 10 10 7 3 2 9
则只有子序列2 10 10 7 3 2与上面的FJ的模式匹配。

请帮助FJ找到所有的长度-K子序列在他的牛的行匹配他指定的模式。
输入

行1:三个空格分隔的整数:N,K和S

线2..N + 1:线i + 1描述牛i上的斑点数。

行N + 2..N + K + 1:行i + N + 1描述模式秩时隙i。

输出

行1:模式匹配的索引数B

线2..B + 1:模式匹配的起始位置的索引(在1..N范围内)。


0 0
原创粉丝点击