#P1212. 论文查重

    ID: 224 传统题 1000ms 512MiB 尝试: 0 已通过: 0难度: 提高+/省选− ← 上一题 下一题 → 随机一题 上传者: 标签 字符串 哈希 并查集
显示设置

论文查重

论文查重

题目背景

期末临近,学术委员会的机房里堆起了一长队待检论文。查重系统的老师傅留下过一句话:两篇论文只要共有一段足够长的连续片段,就足以说明它们「同源」。

题目描述

待检论文共 nn 篇,编号依次为 11 到 nn。每篇论文都可以看成一个由小写英文字母组成的非空字符串。

系统给定阈值 LL,并做出如下约定:

  • 若两篇论文之间存在一个长度至少为 LL 的公共连续片段,则称这两篇论文同源;
  • 同源关系可以传递:若论文 xx 与 yy 同源、论文 yy 与 zz 同源,那么 x,y,zx, y, z 属于同一个抄袭簇;
  • 只含一篇论文的抄袭簇不算真正的抄袭簇。

请你找出规模最大的抄袭簇,输出这个簇里论文的篇数,以及簇中编号最小的论文编号。如果不存在任何真正的抄袭簇,输出 -1。

输入格式

从标准输入读入数据。

第一行两个整数 n,Ln, L。

接下来 nn 行,每行一个由小写英文字母组成的非空字符串,依次表示第 11 篇到第 nn 篇论文。

输出格式

输出到标准输出。

输出一行两个整数,依次表示最大抄袭簇的论文篇数与簇中编号最小的论文编号;若不存在真正的抄袭簇,输出 -1。

样例 1 输入

3 3
abab
baba
xyzzy

样例 1 输出

2 1

样例 1 解释

第 1 篇与第 2 篇共有连续片段 aba(长度 33,也共有 bab),所以它们同源,组成一个规模为 22 的抄袭簇。

第 3 篇的长度为 33 的连续片段只有 xyz、yzz、zzy,与另外两篇都不相同,因此不参与任何抄袭簇。

规模最大的抄袭簇时论文篇数为 22,簇中编号最小的论文是第 11 篇。

样例 2 输入

2 4
abcd
bcde

样例 2 输出

-1

数据范围

设 ∣s∣|s| 表示一篇论文的长度,∑∣s∣\sum |s| 表示所有论文长度之和。

| 测试点编号 | nn | ∑∣s∣\sum |s| | LL | 特殊性质 | |:-:|:-:|:-:|:-:|:-:| | 1∼41 \sim 4 | ≤2\le 2 | ≤100\le 100 | ≤100\le 100 | 无 | | 5∼85 \sim 8 | ≤100\le 100 | ≤1000\le 1000 | ≤10\le 10 | 无 | | 9∼129 \sim 12 | ≤105\le 10^5 | ≤106\le 10^6 | ≤109\le 10^9 | A | | 13∼1613 \sim 16 | ≤105\le 10^5 | ≤106\le 10^6 | ≤109\le 10^9 | B | | 17∼2017 \sim 20 | ≤105\le 10^5 | ≤106\le 10^6 | ≤109\le 10^9 | 无 |

特殊性质 A:L=1L = 1。

特殊性质 B:所有论文的长度都相等。

对于所有测试数据,1≤n≤1051 \le n \le 10^5,∑∣s∣≤106\sum |s| \le 10^6,1≤L≤1091 \le L \le 10^9,每篇论文长度不超过 10510^5。

提交说明

本题使用标准输入输出。程序应从标准输入读入数据,并将答案输出到标准输出。