CCF-CSP 33-2 相似度计算(jaccard)【C++】考点:STL容器(set/map)

题目

TUOJhttps://sim.csp.thusaac.com/contest/33/problem/1

思路参考:202403(第33次)CCF CSP真题202403-1,2讲解_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1PUvxefEJr/

思路

核心思路:这题如果会用STL容器(set/map)很容易拿满

代码

可以让AI总结一下代码逻辑

  1. 归一化处理 :读取两组单词序列,利用 transform 函数将所有单词转换为小写,以实现忽略大小写的匹配。
  2. 去重与计数
    • 使用 map<string, int> mpA 存储第一组单词,确保集合 A 中的单词唯一。
    • 使用 map<string, int> mpB 存储第二组单词,确保集合 B 中的单词唯一。
  3. 计算交集 :在处理第二组单词时,利用 mpA.count(s) 检查当前(去重后的)单词是否存在于集合 A 中,统计交集大小 jiaoji。
  4. 计算并集并输出
    • 输出交集大小 jiaoji。
    • 根据容斥原理,输出并集大小:mpA.size() + mpB.size() - jiaoji。
cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
map<string,int>mpA, mpB;

void solve(){
	int n,m; cin>>n>>m;
	int jiaoji=0;
	for(int i=0;i<n;i++){
		string s; cin>>s;
		// for(int j=0;j<s.size();j++)
		// 	if(isupper(s[j])) s[j]=tolower(s[j]); //tolower 不会改原来的字符 
		transform(s.begin(),s.end(),s.begin(),::tolower); //直接字符串转小写 transform(源起始, 源结束, 目标起始, 一元操作函数);
		if(mpA[s]) continue; 
		mpA[s]=1;
	} 
	for(int i=0;i<m;i++){
		string s; cin>>s;
		transform(s.begin(),s.end(),s.begin(),::tolower);
		if(mpB[s]) continue; //避免重复计算交集 
		mpB[s]=1;
//		if(mpA[s]==1) jiaoji++; //交集  //warn:如果键 s 不存在,调用 mpA[s] 会自动在 map 中插入该键,并将值初始化为 0
 		if(mpA.count(s)==1) jiaoji++; 
	} 
	cout<<jiaoji<<endl;
	cout<<mpA.size()+mpB.size()-jiaoji<<endl;
	
} 

int main(){
	ios::sync_with_stdio(0),cin.tie(0);
	solve();
	return 0;
}
相关推荐
2601_962218618 小时前
万象生鲜系统业财一体化底层打通技术自动生成经营账单
大数据·数据库·人工智能·python·算法
2601_966949658 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
niucloud-admin8 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
anew___8 小时前
蜂鸣器播放音乐——让 Arduino 唱出旋律
c++·stm32·单片机·嵌入式硬件·c
吞下星星的少年·-·8 小时前
The 2026 ICPC Asia East Continent Online Contest (II)(构造)
数据结构·算法
滕州市燕猫虎计算机科技工作室个体工商户8 小时前
Java锁
java·开发语言
多加点辣也没关系8 小时前
JavaScript|第31章:表单与控件
开发语言·javascript·ecmascript
菜鸟~noob2339 小时前
【电子战】 第09篇:阵列信号处理——波束形成、MVDR、MUSIC【含matlab代码】
开发语言·matlab·信号处理
ocean21039 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文