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

2020年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第2题)

2020年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第2题)

第2题
1#include<iostream>2#include<cstdlib>3usingnamespacestd;45intn;6intd[10000];78intfind(intL,intR,intk){9intx=rand()%(R-L+1)+L;10swap(d[L],d[x]);11inta=L+1,b=R;12while(a<b){13while(a<b&&d[a]<d[L])14++a;15while(a<b&&d[b]>=d[L])16--b;17swap(d[a],d[b]);18}19if(d[a]<d[L])20++a;21if(a-L==k)22returnd[L];23if(a-L<k)24returnfind(a,R,k-(a-L));25returnfind(L+1,a-1,k);26}2728intmain(){29intk;30cin>>n;31cin>>k;32for(inti=0;i<n;++i)33cin>>d[i];34cout<<find(0,n-1,k);35return0;36}

假设输入的 n,k 和 d[i]都是不超过 10000的正整数,且 k不超过 n,并假设rand()函数产生的是均匀的随机数,完成下面的判断题和单选题:

  • 判断题

    1. 第 9行的 x 的数值范围是 L+1 到 R,即 [L+1,R]。( )

      A. 正确 B. 错误

    2. 将第 19 行的d[a]改为d[b],程序不会发生运行错误。( )

      A. 正确 B. 错误

  • 单选题

    1. (2.5 分)当输入的 d[i]是严格单调递增序列时,第 17 行的swap平均执行次数是( )。

      A. O(nlog⁡n)

      B. O(n)

      C. O(log⁡n)

      D. O(n 2 n^2n2)

    2. (2.5 分)当输入的 d[i] 是严格单调递减序列时,第 17 行的swap平均执行次数是( )。

      A. O(n 2 n^2n2)

      B. O(n)

      C. O(nlog⁡n)

      D. O(log⁡n)

    3. (2.5 分)若输入的 d[i] 为i,此程序①平均的时间复杂度和②最坏情况下的时间复杂度分别是( )。

      A. O(n) , O(n 2 n^2n2)

      B. O(n) , O(nlog⁡n)

      C. O(nlog⁡n) , O(n 2 n^2n2)

      D. O(nlog⁡n) , O(nlog⁡n)

    4. (2.5 分)若输入的 d[i] 都为同一个数,此程序平均的时间复杂度是( )。

      A. O(n)

      B. O(log⁡n)

      C. O(nlog⁡n)

      D. O(n 2 n^2n2)

判断题答案及解析
  1. 错误。第9行的x = rand() % (R - L + 1) + L,随机数范围是[L, R],包括L,而不是[L+1, R]
  2. 正确。原程序在区间长度为1时,a = L+1会越界访问;改为d[b]后,b = R = L在合法范围内,避免了运行错误。
单选题答案及解析
  1. A/B。错题,不随便算一个答案。
  2. B。对于严格单调递减序列,同理,平均交换次数也为O(n)。
  3. A。输入为i(递增序列)时,平均时间复杂度为O(n),最坏情况(每次选到最小或最大)为O(n²)。
  4. D。输入全相同时,每次划分只能排除一个元素,递归深度为n,总比较次数为O(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/396818/

相关文章:

  • SI标准网站
  • 回收卡券有诀窍:山东一卡通回收流程详解 - 团团收购物卡回收
  • 海洋科考船上的AI与边缘计算
  • 股市赚钱学概论:赚钱理之四,赚稳健的钱
  • 镜像视界技术护城河与全球竞品结构对标压制报告——从视频系统竞争到空间操作系统代际替换
  • 镜像视界技术参数锁定与封标级专家质询攻防体系——空间计算操作系统的可验证能力结构
  • 深夜修图指南:七行代码拯救你的暗光照片
  • 基础入门 React Native 鸿蒙跨平台开发:react-native-easy-toast三方库适配
  • 上海有哪些做研发数据管理的服务商?2026原创优选指南 - 冠顶工业设备
  • VisionMaster之平移旋转标定(十二点标定)
  • neovim报错:E319:No python3 provider found. Run :checkheaLth vim.provider
  • 定稿前必看!AI论文写作软件 千笔·专业论文写作工具 VS Checkjie,研究生专属神器!
  • 干货来了:自考必备的降AIGC工具 —— 千笔·降AIGC助手
  • 国内做得好的支付宝消费券回收平台推荐 - 京顺回收
  • 挺拔体态,悦见美好|武汉普拉提体态调整课程,禧悦帮你摆脱体态困扰 - 冠顶工业设备
  • 对比一圈后!继续教育必备的降AI率网站 —— 千笔·专业降AIGC智能体
  • Nginx源代码学习:六种算法、六个文件、两千行C——Nginx负载均衡的全部秘密
  • 实测对比后AI论文工具,千笔 VS 灵感风暴AI更贴合专科生需求
  • 互联网大厂Java求职面试实战:基于电商场景的技术问答及解析
  • 闲置京东e卡怎么回收?可可收主流渠道实测,安全高效不踩坑 - 可可收
  • .txt文件与.text文件区别(都是纯文本文件,没有本质区别,.text扩展名非主流,有的操作系统不能识别,建议用.txt)
  • 2026年市场上知名的环氧酚醛生产工厂哪家好,环氧玻璃钢/光固化保护套/石墨烯涂料/环氧酚醛,环氧酚醛厂家选哪家 - 品牌推荐师
  • RabbitMQ核心概念与Spring Boot集成实战
  • 山东一卡通想回收!一分钟搞懂操作流程和注意事项 - 团团收购物卡回收
  • 肤契:租客
  • 支付宝立减金到期就亏了!合规玩法一次学会 - 可可收
  • 闲置山东一卡通别浪费!可可收正规线上回收,余额轻松兑现价值 - 可可收
  • K8S Sidecar方案:监控MySQL健康状态并重启相应Java应用
  • K8S + Spring Boot 高可用实战:MySQL宕机后如何保证 Java 应用不重启自动恢复
  • 凸优化数学基础笔记(六):凸集、凸函数与凸规划