#559. 相似度计算
相似度计算
问题描述
两个集合的 Jaccard 相似度定义为:
即交集的大小除以并集的大小。当集合 和 完全相同时,;当二者交集为空时,。
小 希望使用 Jaccard 相似度来评估两篇文章的相似性。具体流程为:
- 每篇文章由若干英文单词组成,单词仅包含英文字母(大小写字母)。
- 对每篇文章先提取单词集合(即去掉重复单词),在集合构造与比较过程中忽略字母大小写(例如
the、The、THE视为同一单词)。 - 令 与 分别为两篇文章的单词集合,计算并输出 和 。(相似度的除法由小 自行完成)
请编写程序,读取两篇文章并输出 与 。
输入格式
共三行:
- 第一行包含两个正整数 和 ,分别表示两篇文章的单词个数(即原始序列长度)。
- 第二行包含 个以空格分隔的单词,表示第一篇文章的词序列。
- 第三行包含 个以空格分隔的单词,表示第二篇文章的词序列。
在构造集合时需忽略英文字母的大小写差异(均转为小写或大写处理)。
所有测试数据满足:
且每个单词至多包含 个字母;单词仅由英文字母组成。
输出格式
输出两行:
- 第一行输出整数 ,表示两篇文章不同单词的交集大小;
- 第二行输出整数 ,表示两篇文章不同单词的并集大小。
输入样例 1
3 2
The tHe thE
the THE
输出样例 1
1
1
输入样例 2
9 7
Par les soirs bleus dete jirai dans les sentiers
PICOTE PAR LES BLES FOULER LHERBE MENUE
输出样例 2
2
13
输入样例 3
15 15
Thou that art now the worlds fresh ornament And only herald to the gaudy spring
Shall I compare thee to a summers day Thou art more lovely and more temperate
输出样例 3
4
24
说明
样例解释
样例1:
将字母忽略大小写后,两个集合均为 ,故交并集大小均为 1。
样例2:
$A=\{\text{par},\text{les},\text{soirs},\text{bleus},\text{dete},\text{jirai},\text{dans},\text{sentiers}\}$(共 )
$B=\{\text{picote},\text{par},\text{les},\text{bles},\text{fouler},\text{lherbe},\text{menue}\}$(共 )
交集 大小为 ;并集大小为 。