当前位置: 首页 > news >正文

2022年信奥赛C++提高组csp-s初赛真题及答案解析(完善程序第1题)

2022年信奥赛C++提高组csp-s初赛真题及答案解析(完善程序第1题)

第1题

(归并第 k 小)已知两个长度均为 n 的有序数组 a1 和 a2(均为递增序,但不保证严 格单调递增),并且给定正整数 k(1≤k≤2n),求数组 a1 和 a2 归并排序后的数组里 第 k 小的数值。

试补全程序。

#include<bits/stdc++.h>usingnamespacestd;intsolve(int*a1,int*a2,intn,intk){intleft1=0,right1=n-1;intleft2=0,right2=n-1;while(left1<=right1&&left2<=right2){intm1=(left1+right1)>>1;intm2=(left2+right2)>>1;intcnt=;if(){if(cnt<k)left1=m1+1;elseright2=m2-1;}else{if(cnt<k)left2=m2+1;elseright1=m1-1;}}if(){if(left1==0){returna2[k-1];}else{intx=a1[left1-1],;returnstd::max(x,y);}}else{if(left2==0){returna1[k-1];}else{intx=a2[left2-1],;returnstd::max(x,y);}}}
  1. ①处应填()

    A. (m1 + m2) * 2

    B. (m1 - 1) + (m2 - 1)

    C. m1 + m2

    D. (m1 + 1) + (m2 + 1)

  2. ②处应填()

    A. a1[m1] == a2[m2]

    B. a1[m1] <= a2[m2]

    C. a1[m1] >= a2[m2]

    D. a1[m1] != a2[m2]

  3. ③处应填()

    A. left1 == right1

    B. left1 < right1

    C. left1 > right1

    D. left1 != right1

  4. ④处应填()

    A. y = a1[k - left2 - 1]

    B. y = a1[k - left2]

    C. y = a2[k - left1 - 1]

    D. y = a2[k - left1]

  5. ⑤处应填()

    A. y = a1[k - left2 - 1]

    B. y = a1[k - left2]

    C. y = a2[k - left1 - 1]

    D. y = a2[k - left1]

答案
  1. ① C
  2. ② B
  3. ③ C
  4. ④ C
  5. ⑤ A
题解

算法通过二分两个数组的当前范围,每次比较两个中位数a1[m1]a2[m2]

  • cnt = m1 + m2表示两个数组中位于当前中位数之前的元素总数(不包括中位数本身)。
  • a1[m1] <= a2[m2],则进入第一个分支:
    • cnt < k,说明a1[m1]及其之前的元素均小于第k小,故可丢弃a1的左半部分(left1 = m1 + 1)。
    • 否则,第k小一定不大于a1[m1],故可丢弃a2的右半部分(right2 = m2 - 1)。
  • a1[m1] > a2[m2],则进入对称分支。

循环直至一个数组的范围为空。若a1为空(left1 > right1),则第k小为max(a1[left1 - 1], a2[k - left1 - 1]);若a2为空,则为max(a2[left2 - 1], a1[k - left2 - 1])。该算法时间复杂度为O(log n)


专栏推荐:信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新)
https://blog.csdn.net/weixin_66461496/category_13125089.html


各种学习资料,助力大家一站式学习和提升!!!

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}

1、csp信奥赛高频考点知识详解及案例实践:

CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转

CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转

信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html

2、csp信奥赛冲刺一等奖有效刷题题解:

CSP信奥赛C++初赛及复赛高频考点真题解析(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

CSP信奥赛C++一等奖通关刷题题单及题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转

信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新)
https://blog.csdn.net/weixin_66461496/category_13125089.html

3、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转


GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html

4、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}
http://www.jsqmd.com/news/373042/

相关文章:

  • 2022年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第3题)
  • 2026年热门的防雷装置检测,防雷检测上门公司品牌推荐榜单 - 品牌鉴赏师
  • Java学习日记——DAY23
  • 超越静态图表:Python数据可视化组件的深度探索与现代实践
  • 读人工智能全球格局:未来趋势与中国位势02深度学习
  • 记调试 RX-Explorer-WAS 文件管理器 UI 未响应问题
  • 高手的直觉:当深度反思,凝结为瞬间的洞察
  • 2.2 任务一复杂就乱 学会拆任务和动态调整
  • 2.3 短期记对话长期存向量 Agent的记忆怎么设计
  • 1.7 新商业模式长什么样 AIA即服务多Agent具身智能
  • 2.1 四大件 规划记忆工具执行缺一不可
  • 1.6 真实案例 客服推荐医疗里Agent已经省了多少钱
  • 1.5 Agent的手 会说话会调API才算真干活
  • 如何选择内网部署的项目管理软件?2026年8款主流软件测评
  • 13款任务管理软件对比测评:谁更适合研发?谁更适合跨部门?
  • 嘉立创EDA:用网络标签表示导线连接
  • 市场如期缩量,留给你的时间不多
  • MATLAB基于遗传-灰狼优化算法的绿色低碳停机位分配
  • 当预算成为战略的边界——管会视角复盘大英帝国对北美SBU的“战略剥离”案
  • Seedance 2.0 之后,品牌内容生产正在进入“系统化原创时代”
  • [拆解LangChain执行引擎] Channel——驱动Node执行的原力
  • UDP原理和极简socket编程demo
  • 【pySLAM】pySLAM
  • 面向对象高级三
  • LeetCode热题100--42. 接雨水--困难
  • 【无标题】具身智能的长期任务规划与记忆机制
  • 2026年漯河旧房翻新攻略:如何甄选正规靠谱的施工团队? - 2026年企业推荐榜
  • VBA即用型代码手册:设置表格内的字体Set the font in the table
  • 2026年2月漯河高性价比装修实力公司综合评测 - 2026年企业推荐榜
  • 2026年漯河旧房翻新市场深度解析与TOP施工团队权威推荐 - 2026年企业推荐榜