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

学而思编程周赛入门初赛组 | 2026年春第11周

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总贴:学而思编程周赛入门初赛组 | 汇总


单选题

第1题

字形存储码是指供计算机输出汉字(显示或打印)用的二进制信息.也称字模。通常,采用的是数字化点阵字模。现有一个16*16的点阵,已知汉字“一”所占的内存为32字节,那么汉字“二”所占的内存为( )字节。

A. 32

B. 64

C. 128

D. 256

【答案】:A

【解析】

不通的汉字占用内存是一样的

第2题

十进制数10.375对应的二进制数为( )。

A. 1010.001

B. 1010.011

C. 1010.101

D. 1010.010

【答案】:B

【解析】

0.375 = 1/4 + 1/8 =( 0.011 ) 2 (0.011)_2(0.011)2,故选B

第3题

对以下图进行拓扑排序的结果是( )。

A. 0 2 3 4 5 1

B. 0 1 3 4 2 5

C. 0 2 4 3 1 5

D. 0 1 2 3 4 5

【答案】:C

【解析】

图排序从入度为0的点开始,选择一个点后删除其2条边,选择C

第4题

甲、乙、丙、丁四位学员在考试中获得了前四名(没有并列的情况)。甲说:“我是第2名,乙是第3名。” 乙说:“丙是第4名,我是第2名。” 丙说:“丁是第2名,我是第3名。” 丁说:“我是第1名,乙是第3名。” 又知道甲、乙、丙、丁每人都只说对了一半。请问:丙是第( )名。

A. 1

B. 2

C. 3

D. 4

【答案】:D

【解析】

这道题目考察的是逻辑推理能力。

我们需要根据甲、乙、丙、丁四个人的陈述,结合每个人只说对了一半的条件,推断出他们的实际排名。

选项A:丙是第1名。如果丙是第1名,那么丙的两句话"丁是第2名,我是第3名”都是错误的,这与题目条件矛盾,因此选项A错误。

选项B:丙是第2名。如果丙是第2名,那么丙的两句话"丁是第2名,我是第3名”中"我是第3名”是错误的,而“丁是第2名"可能是正确的。但我们需要进一步验证其他陈述是否一致。甲说:“我是第2名,乙是第3名。”如果丙是第2名,那么甲的“我是第2名”是错误的,因此“乙是第3名”必须是正确的。乙说:“丙是第4名,我是第2名。”如果乙是第3名,那么“我是第2

名”是错误的,因此“丙是第4名”必须是正确的,但这与丙是第2名矛盾,因此选项B错误。

选项C:丙是第3名。如果丙是第3名,那么丙的两句话“丁是第2名,我是第3名"中"我是第3名"是正确的,而"丁是第2名"是错误的。甲说:"我是第2名,乙是第3名。”如果丙是第3名,那么“乙是第3名”是错误的,因此"我是第2名”必须是正确的。乙说:“丙是第4名,我是第2名。"如果甲是第2名,那么"我是第2名”是错误的,因此"丙是第4名”必须是正确的,但这与丙是第3名矛盾,因此选项C错误。

选项D:丙是第4名。如果丙是第4名,那么丙的两句话“丁是第2名,我是第3名"中"我是第3名"是错误的,因此"丁是第2名"必须是正确的。甲说:“我是第2名,乙是第3名。”如果丁是第2名,那么"我是第2名"是错误的,因此"乙是第3名"必须是正确的。乙说:“丙是第4名,我是第2名。”如果乙是第3名,那么"我是第2名"是错误的,因此“丙是第4名"必须是正确的,这与丙是第4名一致。丁说:“我是第1名,乙是第3名。”如果乙是第3名,那么"乙是第3名”是正确的,因此"我是第1名”必须是错误的。

综合以上分析,只有选项D符合所有条件,因此丙是第4名。

第5题

考虑如下递归函数

intsolve(intx){if(x<=2){return1;}returnsolve(x-1)*solve(x-2)+x;}

则调用 solve(6) 得到的返回结果为( )。

A. 302

B. 37

C. 303

D. 36

【答案】:A

【解析】

将6代入函数计算即可,可以使用递推算法加快速度。

阅读程序题

假设下列代码输入的两个字符串长度相同,回答下列问题:

#include<iostream>#include<cstring>#include<cstdio>usingnamespacestd;chars1[10];chars2[10];intlen;inlineintfind(charch){for(inti=0;i<len;i++){if(s1[i]==ch)returni;}}voiddfs(intl1,intr1,intl2,intr2){intm=find(s2[r2]);// 已知后序遍历求前序遍历cout<<s2[r2];if(m>l1)dfs(l1,m-1,l2,r2-r1+m-1);if(m<r1)dfs(m+1,r1,l2+m-l1,r2-1);}intmain(){cin>>s1;// 中序遍历cin>>s2;// 后序遍历len=strlen(s1);dfs(0,len-1,0,len-1);}

第6题

输出的字符串长度与字符串s1的长度一定相同( )

A. 正确

B. 错误

【答案】:A

【解析】

遍历并不会改变字符串长度

第7题

在19行和20行的if判断中的小于号或者大于号改为小于等于或大于等于号不会改变程序的运行结果( )。

A. 正确

B. 错误

【答案】:B

【解析】

增加等于号会改变运行结果(包含了根)

第8题

该程序的时间复杂度为( )

A.

B.

C.

D.

【答案】:B

【解析】:

树形遍历,每个点都会被访问一次,所以时间复杂度为,第17行find也会执行n次,所以总体时间复杂度为

第9题

输入

BADC BDCA

输出为( )。

A. ABDC

B. ABCD

C. BACD

D. ACBD

【答案】:B

【解析】

画出树,前序遍历结果为ABCD

第10题

输入

EIFBACGHD IBFEHGDCA

输出为( )。

A. AEFIBDCGH

B. AEFIBCDGH

C. AEFBICDGH

D. AEFIBCDHG

【答案】:B

【解析】

画出树,前序遍历结果为AEFIBCDGH

完善程序题

给出若干个整数,询问其中是否有一对数的和等于给定的m的数。

若存在和为m的数对,输出两个整数,小的在前,大的在后,中间用单个空格隔开。若有多个数对满足条件,选择数对中较小的数更小的。若找不到符合要求的数对,输出一行No。

#include<cstdio>#include<algorithm>usingnamespacestd;inta[100010];intn,m;intmain(){cin>>n;for(inti=1;i<=n;i++)cin>>a[i];cin>>m;__1__;intl,r=n,mid;for(inti=1;i<=n;i++){intt=__2__;l=i+1;while(l<=r){// 二分答案模板mid=(l+r)/2;if(a[mid]==t){cout<<a[i]<<" "<<t<<endl;__3__;}elseif(a[mid]<t)__4__;elseif(__5__)r=mid-1;}}cout<<"No";return0;}

第11题

1处应该填( )。

A.sort(a,a+n)

B.sort(a+1, a+1+n)

C.memset(a,0,sizeof(n));

D.memset(a,0,sizeof(a));

【答案】:B

【解析】

最后输出较小中的更小,应该先按照从小到大进行排序

第12题

2处应该填( )。

A.a[i]

B.m-a[i]

C.0

D.m

【答案】:B

【解析】

按照第20行的输出,这里应该输出两个数,两个数之和为m。如果前一个为a[i],那么后一个就应该为m-a[i]

第13题

3处应该填( )。

A.break

B.return 0

C.continue

D.cout << endl

【答案】:B

【解析】

因为只需要输出最小的结果,那么这里直接结束程序

第14题

4处应该填( )。

A.r=mid

B.l=mid

C.l=mid+1

D.l=mid-1

【答案】:C

【解析】

二分答案,这里l = mid+1,选C

第15题

5处应该填( )。

A.a[mid]>a[i]

B.a[mid]<a[i]

C.a[mid]>t

D.a[mid]>=t

【答案】:C

【解析】

前面是==t<t,那么这里是>t,选C

http://www.cnnetsun.cn/news/2848145.html

相关文章:

  • 雷达作用距离方程:从能量博弈到工程边界
  • GAN训练调参秘籍:如何用F-散度中的海林格距离和卡方距离替代KL散度?
  • 天地图瓦片加载实战:从GetCapabilities元数据到Leaflet/OpenLayers完整集成指南
  • 2026 DDoS 攻防新趋势:AI 驱动的攻击与防御技术对决
  • 新手避坑指南:在Windows 10/11上配置Appium+MuMu模拟器环境(含adb冲突解决)
  • 告别命令行恐惧:用msys2的pacman包管理器搞定Windows下的软件安装与更新
  • 5分钟快速上手:终极时间序列分析库完整实战指南
  • ssm线上旅行信息管理系统ssm+vue(10168)
  • 5分钟让Figma说中文:设计师必备的终极本地化解决方案
  • 【课程设计/毕业设计】基于springboot+微信小程序的问卷调查管理系统小程序问卷设计发布、填写提交、数据可视化【附源码、数据库、万字文档】
  • 英文论文AI率从80%降到15%,全靠这套2026实操全攻略(教程公开)
  • AI大模型:开启智能新篇章,小白也能轻松入门收藏!
  • GTA圣安地列斯存档编辑器:完全掌控游戏进度的终极工具
  • 鸿蒙 App 如何走向 Agent 化?实现原理 + 实战代码
  • ChatALL:一站式多AI协同工作平台,释放集体智能的终极解决方案
  • 冷门实用工具:Fzf 进阶配置与实战
  • 不只是重名:深入理解C/C++预处理器的‘坑’与‘expected ‘,‘ or ‘...‘ before numeric constant’的多种触发场景
  • i.MX RT1015数据手册电气特性与时序参数实战解析
  • 告别寄存器操作!用FwLib_STC8库在Keil5上快速开发STC8H项目(附完整避坑指南)
  • Function Calling 与 MCP:Agent 工程中的工具调用边界与协议选择
  • TMS320F280049 ADC采样窗口到底设多大?手把手教你计算ACQPS值(附代码)
  • G-Helper终极指南:华硕笔记本性能调优,告别臃肿Armoury Crate的3个秘诀
  • 华硕笔记本性能调优新范式:G-Helper的极简控制哲学
  • 生产级多维聚合实战:滚动窗口、unstack与自定义函数避坑指南
  • Python调用OpenCV自动拼接多张照片生成全景图的可运行工程包
  • 如何永久保存微信聊天记录?让你的数字记忆真正属于自己
  • okbiye:一站式论文优化平台,解决重复率与 AI 痕迹双重毕业难题
  • 从通信解码到语音识别:维特比算法(Viterbi)是如何成为隐藏马尔可夫模型(HMM)的“灵魂”的?
  • 你的显卡够用吗?Anime4K不同模式(A/B/C)在GTX 1060 vs RTX 3060上的实测与性能指南
  • 跨界MCU i.MX RT1064深度解析:从Cortex-M7内核到工业HMI实战