CCF-GESP计算机学会等级考试2026年3月五级C++T2 找数

P15799 [GESP202603 五级] 找数

题目描述

给定一个包含 nnn 个互不相同的正整数的数组 AAA 与一个包含 mmm 个互不相同的正整数的数组 BBB,请你帮忙计算有多少个数在数组 AAA 与数组 BBB 中均出现。

输入格式

第一行包含两个整数 n,mn,mn,m。

第二行包含 nnn 个正整数 a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1​,a2​,⋯,an​ 表示数组 AAA。

第三行包含 mmm 个正整数 b1,b2,⋯ ,bmb_1,b_2,\cdots,b_mb1​,b2​,⋯,bm​ 表示数组 BBB。

输出格式

输出一个整数,表示在数组 AAA 与数组 BBB 中均出现的数的个数。

输入输出样例 #1

输入 #1

3 5 4 2 3 3 1 5 4 6 

输出 #1

2 

说明/提示

样例解释

样例 1 中,444、333 在数组 AAA 与 BBB 中均出现。

数据范围

对于 40%40\%40% 的数据,保证 1≤n,m≤10001 \leq n,m \leq 10001≤n,m≤1000。

对于 100%100\%100% 的数据,保证 1≤n,m≤1051 \leq n,m \leq 10^51≤n,m≤105,1≤ai,bi≤1091 \leq a_i,b_i \leq 10^91≤ai​,bi​≤109。

解析

1.将a数组和b数组合并排序,相等的数会相邻,找到有多少对相邻的数相等,就是答案,时间复杂度O(NlogN),(N=n+m),详见代码:

#include<bits/stdc++.h>usingnamespace std;int a[200005];int n,m;int ans=0;intmain(){ cin>>n>>m;for(int i=1;i<=n+m;i++){ cin>>a[i];}sort(a+1,a+n+m+1);for(int i=1;i<n+m;i++){if(a[i]==a[i+1]) ans++;} cout<<ans;return0;}

2.将a,b数组分别排序,用双指针法求相同的数对,时间复杂度O(NlogN),(N=max(n,m)),详见代码:

#include<bits/stdc++.h>usingnamespace std;int a[100005];int b[100005];int n,m;int ans=0;intmain(){ cin>>n>>m;for(int i=1;i<=n;i++){ cin>>a[i];}for(int i=1;i<=m;i++){ cin>>b[i];}sort(a+1,a+n+1);//分别排序sort(b+1,b+m+1);int i=1;//a数组的第一个数int j=1;//b数组的第一个数while(i<=n&&j<=m){//都没完if(a[i]>b[j]){//bj小,换下一个 j++;}elseif(a[i]<b[j]){//ai小,换下一个 i++;}else{//相等,多一对相等的 ans++; i++; j++;}} cout<<ans;return0;}

另一种双指针解法:

#include<bits/stdc++.h>usingnamespace std;int a[100005];int b[100005];int n,m;int ans=0;intmain(){ cin>>n>>m;for(int i=1;i<=n;i++){ cin>>a[i];}for(int i=1;i<=m;i++){ cin>>b[i];}sort(a+1,a+n+1);//分别排序sort(b+1,b+m+1);for(int i=1,j=1;i<=n;i++){//枚举a数组的每一个数while(b[j]<a[i]&&j<=m){//bj小于ai,换下一个bj j++;}if(a[i]==b[j]) ans++;//相等,多一对if(j>m)break;//b数组没了,结束} cout<<ans;return0;}

Read more

FPGA(一)Quartus II 13.1及modelsim与modelsim-altera安装教程及可能遇到的相关问题

FPGA(一)Quartus II 13.1及modelsim与modelsim-altera安装教程及可能遇到的相关问题

零.前言         在学习FPGA课程时,感觉学校机房电脑用起来不是很方便,想着在自己电脑上下载一个Quartus II 来进行 基于 vhdl 语言的FPGA开发。原以为是一件很简单的事情,没想到搜了全网文章发现几乎没有一个完整且详细的流程教学安装(也可能是我没搜到,,ԾㅂԾ,,)【视频b站上有,搞完才发现T.T】,因此想做一个纯小白式安装教程,将网上分享的几位大佬关于安装部分的流程都总结到一文当中,包括软件及软件配套仿真和芯片库的安装,让大家花最少的时间完成安装。相关文章链接在文末。 多图预警 一.Quartus安装 1.首先需要先去百度网盘下载相关资料 下载链接:百度网盘 请输入提取码 提取码:qomk  2.下载的是压缩包,解压后可以看到13个文件 先打开QuartusSetup-13.1.0.162.exe文件开始安装。 3.安装流程 (1)打开后点击next (2)选择第一个accept,再点击next (3)选择文件夹可以自定义安装的位置,尽量建立一个新的文件夹(

By Ne0inhk
RK3588+AI算力卡替代英伟达jetson方案,大算力,支持FPGA自定义扩展

RK3588+AI算力卡替代英伟达jetson方案,大算力,支持FPGA自定义扩展

RK3588+AI算力卡替代英伟达Jetson方案的技术对比与实施路径 1. ‌硬件性能与算力配置‌ * ‌RK3588核心优势‌:采用8nm工艺,集成6TOPS NPU,支持INT4/INT8混合精度计算,搭配PCIe 3.0接口可扩展Hailo-8等AI加速卡,实现32TOPS总算力‌12。 ‌Jetson Thor对比‌:英伟达新一代平台提供2070 FP4 TFLOPS算力(约5168 TOPS),是RK3588+扩展方案的160倍,但功耗高达130W,远超RK3588的5W典型功耗‌34。 2. ‌边缘AI场景适配性‌ * ‌实时性需求‌:RK3588在1080P视频结构化分析中延迟低于50ms,满足工业质检、安防监控等场景;Jetson Thor虽支持毫秒级多模态推理,但成本过高(量产模组2999美元)‌24。 ‌能效比‌:RK3588方案能效达1.2 TOPS/W,优于Jetson Orin的4.5 TOPS/W,适合电池供电的移动机器人‌14。

By Ne0inhk
一文讲清楚RAG 四大模式:Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG

一文讲清楚RAG 四大模式:Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG

随着技术迭代,RAG 已从最初的简单架构发展出多种进阶形态。本文将系统解析 RAG 的四大主流模式 ——Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG,从工作原理、技术特点到适用场景进行全方位对比,为技术选型提供参考。 一、RAG 基础:检索增强生成的核心逻辑 在深入模式解析前,需先明确 RAG 的核心逻辑。简单来说,RAG 由检索(Retrieval) 与生成(Generation) 两大模块构成: 检索模块:从预设知识库中精准定位与用户问题相关的信息片段(如文档、段落、句子); 生成模块:基于检索到的信息,结合大语言模型生成符合上下文、逻辑连贯的答案。 这种 “先检索再生成” 的模式,既保留了 LLM 的语言理解与生成能力,又通过外部知识的引入弥补了模型训练数据过时、事实准确性不足的缺陷。

By Ne0inhk

openclaw多Agent和多飞书机器人配置

增加Agent多个飞书机器人 一个Agent尽量只用一个飞书机器人配置 一:先增加新的agent # 创建新的Agent,命名为new-agnet openclaw agents add new-agnet # 查看创建结果 openclaw agents list 二:新的agent与新的飞书链接 配置agnet下的channels: 在命令行输入 # 配置new-agnet机器人(替换为实际App ID和App Secret) openclaw config set agents.new-agnet.channels.feishu.appId "你的new-agnet 飞书 App ID" openclaw config set agents.new-agnet.channels.feishu.appSecret "你的new-agnet 飞书 App Secret"

By Ne0inhk