2021-CSP-S(提高组)认证第一轮试题详细解析
NOIP (1)-2021-解题报告

全国信息学奥林匹克联赛(NOIP2021)复赛提高组—解题报告NOIP 2013 解题报告BY DOVECL提高组 day1题目概况1.转圈游戏(circle.cpp/c/pas)【问题描述】n 个小伙伴(编号从0 到n-1)围坐一圈玩游戏。
按照顺时针方向给n 个位置编号,从0 到n-1。
最初,第0 号小伙伴在第0 号位置,第1 号小伙伴在第1 号位置,……,依此类推。
游戏规则如下:每一轮第0 号位置上的小伙伴顺时针走到第m 号位置,第1 号位置小伙伴走到第m+1 号位置,……,依此类推,第n − m 号位置上的小伙伴走到第0 号位置,第n-m+1 号位置上的小伙伴走到第1 号位置,……,第n-1 号位置上的小伙伴顺时针走到第m-1 号位置。
现在,一共进行了10k 轮,请问x 号小伙伴最后走到了第几号位置。
【输入】输入文件名为circle.in。
输入共1 行,包含4 个整数n、m、k、x,每两个整数之间用一个空格隔开。
【输出】输出文件名为circle.out。
输出共1 行,包含1 个整数,表示10k 轮后x 号小伙伴所在的位置编号。
【输入输出样例】对于30%的数据,0 < k < 7;对于80%的数据,0 < k < 107;对于100%的数据,1 < n < 1,000,000,0 < m < n,1 ≤ x ≤ n,0 < k < 109。
【分析】对于本题,不难推出,所求解即为(m 10 k+x) mod n然而对于 k≤109,显然暴力求解是不行的,有很大的超时风险大概有两种做法:1、求出循环节,然后用 k mod 循环节长度即可(长度必然不会超过 n)2、使用快速幂算法,以下程序将使用快速幂求解【代码】#include <cstdio>typedef long long LL;int m,n,k,x;LL qmul(int p,int k){LL temp=p,s=1;while(k!=0){if(k%2==1)s=(s*(temp%n))%n;temp=(temp*temp)%n;k=k/2;}return s;}int main(){freopen("circle.in","r",stdin);freopen("circle.out","w",stdout);scanf("%d%d%d%d",&n,&m,&k,&x);printf("%I64d",(m*qmul(10,k)+x)%n);return 0;}【问题描述】2.火柴排队(match.cpp/c/pas)涵涵有两盒火柴,每盒装有n 根火柴,每根火柴都有一个高度。
2023-CSP-J试题解析

2023 CCF 非专业级别软件能力认证第一轮(CSP-J1)入门级C++语言试题认证时间:2023 年9 月16 日09:30~11:30考生注意事项:● 试题纸共有10 页,答题纸共有1 页,满分100 分。
请在答题纸上作答,写在试题纸上的一律无效。
● 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项)1.在C++中,下面哪个关键字用于声明一个变量,其值不能被修改?()A. unsignedB. constC. staticD. mutable解析:B因为其它几个声明的变量,其值都是可以修改的。
只有const声明的常量其值只能在声明时赋值一次。
2.八进制数123456708和076543218的和为()A.222222218B.211111118C.221111118D.222222118解析:D进行加法运算,满8进1。
3.阅读下述代码,请问修改data 的value 成员以存3.14,正的方式是()union Data{int num;float value;char symbol;};union Data data;A.data.value = 3.14;B.value.data = 3.14;C.data->value = 3.14;D.value->data = 3.14;解析:A声明了一个联合体,类似于结构体的数据类型,然后声明了变量data,此时调用其成员变量的方式是采用点号。
如果采用的是指针,则必须使用箭头了。
4.假设有一个链表的节点定义如下:struct Node{int data;Node * next;};现在有一个指向链表头部的指针: Node* head。
如果想要在链表中插入一个新节点,其成员data的值为42,并使新节点成为链表的第一个节点,下面哪个操作是正确的?()A. Node* newNode = new Node; newNode->data = 42; newNode->next = head; head = newNode;B. Node* newNode = new Node; head->data = 42; newNode->next = head; head = newNode;C. Node* newNode = new Node; newode->data = 42; head-next = newNode;D. Node* newNode = new Node; newNode->data = 2; newNode->next = head;解析:A声明新结点,并赋值42,然后将其next指针指向head,再让head等于新结点。
NOIP提高组CSP-S复赛需掌握的算法

NOIP提⾼组CSP-S复赛需掌握的算法1、排序算法(快排、选择、冒泡、堆排序、⼆叉排序树、桶排序)2、DFS/BFS 也就是搜索算法,剪枝务必要学!学宽搜的时候学⼀下哈希表!3、树①遍历②⼆叉树③⼆叉排序树(查找、⽣成、删除)④堆(⼆叉堆、左偏树、堆排序)⑤Trie树4、图(图论建模)①最⼩⽣成树②最短路径③计算图的传递闭包④连通分量(其中要掌握并查集技术)强连通分量tarjin⑤拓扑排序、关键路径⑥哈密尔顿环⑦欧拉回路(USACO 3.3 题1 Fence)⑧Bell-man Ford、SPFA(能解决负权回路)(USACO 3.2 题6 Butter)⑨⼆分图(匈⽛利算法)(USACO 4.2 题2 stall)5、动态规划(背包问题只是其中⼀种)①线性动规②区间动规③树形动规④图形动规6、分治(掌握了动规分治就好学了)7、贪⼼8、位运算(可以⽤来进⾏优化)——————————————————————————————————————————————————————————————————————————————————————补充:时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析⽅法,主定理)排序算法(平⽅排序算法的应⽤,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序)数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余⽅程,中国剩余定理)指针(链表,搜索判重,邻接表,开散列,⼆叉树的表⽰,多叉树的表⽰)按位运算(and,or,xor,shl,shr,⼀些应⽤)图论(图论模型的建⽴,平⾯图,欧拉公式与五⾊定理,求强连通分量,求割点和桥,欧拉回路,AOV问题,AOE问题,最⼩⽣成树的三种算法,最短路的三种算法,标号法,差分约束系统,验证⼆分图,Konig定理,匈⽛利算法,KM算法,稳定婚姻系统,最⼤流算法,最⼩割最⼤流定理,最⼩费⽤最⼤流算法)计算⼏何(平⾯解⼏及其应⽤,向量,点积及其应⽤,叉积及其应⽤,半平⾯相交,求点集的凸包,最近点对问题,凸多边形的交,离散化与扫描)数据结构(⼴度优先搜索,验证括号匹配,表达式计算,递归的编译,Hash表,分段Hash,并查集,Tarjan算法,⼆叉堆,左偏树,斜堆,⼆项堆,⼆叉查找树,AVL,Treap,Splay,静态⼆叉查找树,2-d树,线段树,⼆维线段树,矩形树,Trie树,块状链表)组合数学(排列与组合,鸽笼原理,容斥原理,递推,Fibonacci数列,Catalan数列,Stirling数,差分序列,⽣成函数,置换,Polya原理)概率论(简单概率,条件概率,Bayes定理,期望值)矩阵(矩阵的概念和运算,⼆分求解线性递推⽅程,多⽶诺⾻牌棋盘覆盖⽅案数,⾼斯消元)字符串处理(KMP,后缀树,有限状态⾃动机,Huffman编码,简单密码学)动态规划(单调队列,凸完全单调性,树型动规,多叉转⼆叉,状态压缩类动规,四边形不等式)博弈论(Nim取⼦游戏,博弈树,Shannon开关游戏)搜索(A,ID,IDA,随机调整,遗传算法)微积分初步(极限思想,导数,积分,定积分,⽴体解析⼏何……。
2020CSP-J1-第一轮比赛-C++试题及答案讲解

有 8 个数组组成一个无序数列:5,8,6,3,9,2,1,7,希望从大到小排序。按照冒泡排 序的思想,我们要把相邻的元素两两进行比较,根据大小交换元素的位置,过程如下: 第一轮排序: 1、首先让 5 和 8 进行交换,发现 5 比 8 小,因此元素位置不变。 2、接下来让 8 和 6 比较,发现 8 比 6 大,所以要交换 8 和 6 的位置。3、
4. 信息存储单位 答案 B .......................................................................................................4
6. 读程序(递归算法)答案 B .............................................................................................9
9. 二进制 答案 C ...................................................................................................................13
10. 排列组合 答案 D ............................................................................................................13
2 / 28
一、 单项选择题
1. 存储单元 答案 B 在内存储器中每个存储单元都被赋予一个唯一的序号,称为( )。 A. 下标 B.地址 C. 序号 D. 编号
内存储器有多个存储单元组成,存储单元有编号,这些编号称为存储单元的地址号。
CSP普及赛基础题2021-01

CSP普及赛基础题2021-01CSP普及赛基础题2021-011.设根节点深度为 0,⼀棵深度为 h 的满 k(k>1)叉树,即除最后⼀层⽆任何⼦节点外,每⼀层上的所有结点都有 k 个⼦结点的树,共有()个结点[1.5分]A.(k^{h+1}-1)/(k-1)B.k^{h-1}C.k^hD.(k^{h-1})/(k-1)2.⽤数字 0,1,2,3,4 组成没有重复数字且⽐ 1000 ⼤的奇数共有( )个[1.5分]A.36B.48C.66D.723.如果某算法计算时间表⽰为递推关系式 T(n) = 2 * T(n / 2) + 2n,(n 为正整数)且 T(1) = 1,那么该算法的时间复杂度为[1.5分]A.O(N)B.O(Nlog N)C.O(Nlog2N)D.O(N2)4.设A是n个实数的数组,考虑下⾯的递归算法:请问算法XYZ的输出是什么?( )。
[1.5分]A.A数组的平均值B.A数组的最⼩值C.A数组的最⼤值D.A数组的中值5.⼩明要去南美洲旅游,⼀共乘坐三趟航班才能到达⽬的地,其中第 1 个航班准点的概率是 0.9,第 2个航班准点的概率为 0.8,第 3 个航班准点的概率为 0.9。
如果存在第 i 个(i=1,2)航班晚点,第 i+1 个航班准点,则⼩明将赶不上第 i+1 个航班,旅⾏失败;除了这种情况,其他情况下旅⾏都能成功。
请问⼩明此次旅⾏成功的概率是( )。
[1.5分]A.0.5B.0.648C.0.72D.0.746.下列四个不同进制的数中,与其它三项数值上不相等的是()[1.5分]A.(269)16B.(617)10C.(115)8D.(1001101011)27.某算法的计算时间表⽰为递推关系式 T(n)=T(n-1)+n(n 为正整数)及 T(0)=1,则该算法的时间复杂度为( )。
[1.5分]A.O(logn)B.O(nlogn)C.O(n)D.O(n2)。
ccf csp-j 2019第1轮试题详解

A.3000
B.2500
C.2400
D设按照方案一、
二训练各 i 和 j 天,由题意分析得,3*i+5*j<=21,
i+j<=7,i<=3。现要求 300*i+600*j 的最大值。枚举
126
郑德强:CCF CSP J 2019 第 1 轮试题详解
第 11 期
1.6 链表不具有的特点是( D )
A.插入删除不需要移动元素 B.不必事先估计存储空间 C.所需空间与线性表长度成正比 D.可随机访问任一元素 【解析】考察数据结构中链表的特性,链表只记录 前一个元素和后一个元素,链表在内存中不是连续 存储的,所以可以根据需要来分配空间,链表的优 势在于定点删除/插入元素,因为链表影响的最多 就是给定元素的左右的两个链,插入和删除的时候, 也不存在移动元素这个说法。但是,它和数组不一 样(数组有下标,可随机访问),只能通过链一个 一个的找,不能随机访问。
1.8 一棵二叉树如图 1 所示,若采用顺序存储结构, 即用一维数组元素存储该二叉树中的结点(根结点 的下标为 1,若某结点的下标为 i,则其左孩子位于 下标 2i 处、右孩子位于下标 2i+1 处),则该数组的 最大下标至少为( C )
【解析】考察素数的判断,可以从大往下排除,得 到 97。
1.10 319 和 377 的最大公约数是( C )。
A.s=a-c;
B.s=a-b;
C.s=s-c;
D.s=b-c;
【解析】本题是考察循环结构的 For 语句,s 初始
化为 a; for 循环执行 c 次,每次 s 都会-1,一共是减
c 次,所以答案是 s=a-c。
1.5 设有 100 个已排好序的数据元素,采用折半查 找时,最大比较次数为( A )
2021年中国数学奥林匹克竞赛(CMO)第一题详解

2021年中国数学奥林匹克竞赛(CMO)第一题详解
引言
问题
给定正实数和平面上的两个点,满足
平面上取两个点满足是一个非退化的凸四边形,并且
,易知四边形有内切圆,求内切圆圆心的轨迹。
分析
本题描述的是一个筝形,即有一条对角线所在直线为对称轴的凸四边形,筝形有内切圆,内切圆圆心是筝形的对称轴和等角的平分线的交点。
本题涉及如下角平分线的性质。
三角形中,为角平分线,则有:
证明:
证毕。
本文提供两种解法,第一种是平面几何解法,第二种是解析几何解法。
解法一:平面几何
如下图,过点作的平行线,交于,连接
,
根据角平分线性质,我们有
根据平行线的性质,我们有
即
定点,从而在以为圆心,为半径的圆上,记此圆为。
当时,在上取,满足
此时的轨迹为圆上,并满足在直线上的投影在线段上的集合;当时,的轨迹为圆上,并满足在直线上的投影在线段上的集合。
解法二:解析几何
如下图,以为原点,为轴正方向,建立平面直角坐标系。
我们设,的极坐标为
由余弦定理知:
由角平分线性质知:
即
代入上式可得的极坐标方程为
换成坐标系方程,作下列代换
整理可得的方程为
当时,的取值范围为,当时,的取值范围为这就是的轨迹。
点评
本题是第一题,也即是最简单的一题,涉及的知识点只有角平分线以及平行线的一些性质,计算量也是相当小,只要上手了估计能在10 分钟内解决。
第一种方法虽然简洁,但实际没有那么直观,实际是基于第二种解法的结论基础上的,第二种方法比较万能。
NOIP2021提高组初赛C++试题

信息学奥林匹克联赛初赛竞赛时间:2015 年10 月11 日14:30~16:30选手注意:●试题纸共有9 页,答题纸共有2 页,满分100 分。
请在答题纸上作答,写在试题纸上的一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项)1.在计算机内部用来传送、存贮、加工处理的数据或指令都是以()形式进行的。
A.二进制码B. 八进制码C. 十进制码D. 智能拼音码2.下列说法正确的是()。
A.CPU 的主要任务是执行数据运算和程序控制B.存储器具有记忆能力,其中信息任何时候都不会丢失C.两个显示器屏幕尺寸相同,则它们的分辨率必定相同D.个人用户只能使用Wifi 的方式连接到Internet3.与二进制小数0.1 相等的十六进制数是()。
A. 0.8B. 0.4C. 0.2D. 0.14.下面有四个数据组,每个组各有三个数据,其中第一个数据为八进制数,第二个数据为十进制数,第三个数据为十六进制数。
这四个数据组中三个数据相同的是()。
A. 120 82 50B. 144 100 68C. 300 200 C8D. 1762 1010 3F25.线性表若采用链表存储结构,要求内存中可用存储单元地址()。
A.必须连续B. 部分地址必须连续C. 一定不连续D. 连续不连续均可6.今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f 依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈S 的栈顶元素为()。
A. fB. cC. aD. b7.前序遍历序列与后序遍历序列相同的二叉树为()。
A.非叶子结点只有左子树的二叉树B. 只有根结点的二叉树C. 根结点无右子树的二叉树D. 非叶子结点只有右子树的二叉树8.如果根的高度为1,具有61 个结点的完全二叉树的高度为()。
A. 5B. 6C. 7D. 89. 6 个顶点的连通图的最小生成树,其边数为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021 CSP-S(提高级)认证第一轮试题及详细解析单选选择答案一、单项选择题(共15题,每题2分,共计30分,每题仅有一个正确答案案)1.在Linux 系统终端中,用于列出当前目录下所含的文件和子目录的命令为()。
A. lsB. cdC. cpD. all【解析】Linux系统中:ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录);cd命令用于切换当前工作目录;cp命令主要用于复制文件或目录;all只是用来凑数的,没什么实际意义。
2.二进制数001010102和000101102的和为()。
A. 001111002B. 010000002C. 001111002D. 010000102【解析】这是一个最基本的二进制加法,出现了连续的进位算出来是0100000023.在程序运行过程中,如果递归调用的层数过多,可能会由于()引发错误。
A. 系统分配的栈空间溢出B. 系统分配的队列空间溢出C. 系统分配的链表空间溢出D. 系统分配的堆空间溢出【解析】递归需要使用到系统堆栈空间,如果递归层数过多,导致系统堆栈空间不足。
4.以下排序方法中,()是不稳定的。
A. 插入排序B. 冒泡排序C. 堆排序D. 归并排序【解析】待排序的记录序列中可能存在两个或两个以上关键字相等的记录。
排序前的序列中Ri领先于Rj(即i<j).若在排序后的序列中Ri仍然领先于Rj,则称所用的方法是稳定的。
比如int数组[1,1,1,6,4]中a[0],a[1],a[2]的值相等,在排序时不改变其序列,则称所用的方法是稳定的. (插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的;选择排序、希尔排序、快速排序、堆排序是不稳定的).5.以比较为基本运算,对于2n 个数,同时找到最大值和最小值,最坏情况下需要的最小的比较次数为()。
A. 4n−24n−2B. 3n+13n+1C. 3n−23n−2D. 2n+12n+1【解析】比较可以分解成3步来进行:第一步先将2n个两两比较n次将数字分为两组:含有最大值的较大值一组与含有最小值的较小值一组;第二步在较大值组中进行n-1次比较得出最大值;第三步在较小值组中进行n-1次比较得出最小值,总共n + n-1 + n-1 = 3n-2次。
6.现有一个地址区间为0到10的哈希表,对于出现冲突情况,会往后找第一个空的地址存储(到10冲突了就从0开始往后),现在要依次存储(0,1,2,3,4,5,6,7),哈希函数为h(x)=x2mod11。
请问7 存储在哈希表哪个地址中()。
A. 5B. 6C. 7D. 8【解析】对每个数分别计算一下,得出h(x)=(0,1,4,9,5,3,3,5)。
重复的调整一下0,1,4,9,5,3,6,7。
7.G 是一个非连通简单无向图(没有自环和重边),共有36 条边,则该图至少有()个点。
A. 8B. 9C. 10D. 11【解析】设有n个点,除了一个孤立点外剩下点为完全图。
(n−1)*(n−2)/2=36解得n=10 8.令根结点的高度为1,则一棵含有2021 个结点的二叉树的高度至少为()。
A. 10B. 11C. 12D. 2021【解析】当树为完全二叉树时的高度为最小,所以210≤2021<2119.前序遍历和中序遍历相同的二叉树为且仅为()。
A. 只有1 个点的二叉树B. 根结点没有左子树的二叉树C. 非叶子结点只有左子树的二叉树D. 非叶子结点只有右子树的二叉树【解析】前序遍历:先根再左子树后右子树,中序遍历:先左子树再根后右子树。
所以去掉左子树时两个相同。
10.定义一种字符串操作为交换相邻两个字符。
将DACFEB变为ABCDEF最少需要()次上述操作。
A. 7B. 8C. 9D. 6【解析】AD CFEB->ACDFEB->ACDEFB->ACDEBF->ACDBEF->ACBDEF->ABCDEF,共7 次。
11.有如下递归代码solve(t, n):if t=1return1elsereturn5 * solve(t-1,n) mod n则solve(23,23)的结果为()。
A. 1B. 7C. 12D. 22【解析】程序的运行结果为522 mod 23,根据用费马小定理,在p为素数的情况下,a p-1≡1(mod p),所以522≡1(mod23)。
12.斐波那契数列的定义为:F1=1,F2=1,F n=F n−1+F n−2(n≥3)。
现在用如下程序来计算斐波那契数列的第n 项,其时间复杂度为()。
F(n):if n<=2return1elsereturnF(n-1) + F(n-2)A. O(n)B. O(n2)C. O(2n)D. O(nlogn)【解析】时间复杂度f(n) = f(n-1) + f(n-2) 每一层都包含一个加法操作例如n = 8时,T(n) = 2^0 + 2^1 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 = 2^7-1 O(n) = 2^7-1 = 2^n13.有8 个苹果从左到右排成一排,你要从中挑选至少一个苹果,并且不能同时挑选相邻的两个苹果,一共有()种方案。
A. 36B. 48C. 54D. 64【解析】只选1个苹果,有8种结果;选2个苹果,有6+5+4+3+2+1=21种;选3个苹果,有4+3+2+1+3+2+1+2+1+1=20种;选4个苹果,有5种。
所以总8+21+20+5=548+21+20+5=54 。
14.设一个三位数n=a,b,c,其中a,b,c均为1到9之间的整数,若以a,b,c作为三角形的三条边可以构成等腰三角形(包括等边),则这样的n有()个。
A. 81B. 120C. 165D. 216【解析】考虑a=b≠c有几种。
1,1无解。
2,2有2+2−1−1=2种。
同理,3,3有 4 种,4,4 有6种,后面 5 到 9 都是8种。
所以8×5+6+4+2=52。
而a=b=c有 9 种。
所以52×3+9=165。
15.有如下的有向图,节点为A, B, …, J, 其中每条边的长度都标在图中。
则节点A 到节点J 的最短路径长度为()A. 16B. 19C. 20D. 22【解析】单源最短路径问题,没有负边权,可以用dijkstra算法模拟一下。
二、阅读程序(程序输入不超过数组或字符串定义的范围∶判断题正确填√,错误填x∶除特殊说明外,判断题1.5分,选择题3分,共计40分)假设输入的所有数的绝对值都不超过1000,完成下面的判断题和单选题和判断题:【解析】首先先看一下程序,通过求t可以猜出这是三维坐标系。
还有r可以大致猜测是球。
因为cos60∘=0.5,而60∘在弧度制下就是π/3 。
可以猜测一下,因为V=4/3πr3,r是π/3,所以本题和球关系很大,而d是半径。
16. 将第21行中t的类型声明从int改为double,不会影响程序运行的结果。
()【解析】没有任何下取整的操作,并且结果也是double不影响,故判对。
17.将第26、27 行中的/sqrt(t)/ 2替换为/ 2 / sqrt(t),不会影响程序运行的结果。
()【解析】这里sqrt是小数,若先除以 2 会默认下取整。
故判错。
18.将第28 行中的x * x改成sq(x)、y * y改成sq(y),不会影响程序运行的结果。
()【解析】sq()函数内是算int类型的平方,这里的x和y都是double类型。
故判错。
19.(2 分)当输入为0 0 0 1 1 0 0 1时,输出为1.3090。
()【解析】手动模拟,这个不会难算。
结果为5π/12估算一下,差不多,故判对。
20.当输入为1 1 1 1 1 1 1 2时,输出为()。
A. 3.1416B. 6.2832C. 4.7124D. 4.1888【解析】走特判,所以4/3πr3直接带进去,其中 r 取1。
21.(2.5 分)这段代码的含义为()。
A. 求圆的面积并B. 求球的体积并C. 求球的体积交D. 求椭球的体积并【解析】根据上面的分析和特判的min,所以判断是交。
【解析】这是一段求最大子段和的程序。
22.程序总是会正常执行并输出两行两个相等的数。
()【解析】这个没啥问题,正确。
23.第28 行与第38 行分别有可能执行两次及以上。
()【解析】考虑二分到最边界,此时(n,n+1)会分成(n,n)和(n+1,n+1) ,相等情况被特判走了,所以不会走那两行特判。
若开头输入的n<0,也只会分别执行一次。
故判错。
24.当输入为5 -10 11 -9 5 -7时,输出的第二行为“7”。
()【解析】n=5,所以这一段的最大字段和为11 ,故判错。
25.solve1(1, n)的时间复杂度为()。
A. O(logn)B. O(n)C. O(nlogn)D. O(n!)【解析】T(n)=2T(n/2)+1T(n)=2n−1。
26.solve2(1, n)的时间复杂度为()。
A. O(logn)B. O(n)C. O(nlogn)D. O(n!)【解析】T(n)=2T(n/2)+nO(nlogn)。
27.当输入为10 -3 2 10 0 -8 9 -4 -5 9 4时,输出的第一行为()。
A. 13B. 17C. 24D. 12【解析】n=10,所以最大字段和为2 10 0 -8 9 -4 -5 9 4,为17。
(3)【解析】根据函数名decode和encode以及程序的描述,能比较清晰地发现这是一个加密和解密的过程。
28.程序总是先输出一行一个整数,再输出一行一个字符串。
()【解析】错误,因为有可能被解码成换行符’\n’而导致换行29.对于任意不含空白字符的字符串str1,先执行程序输入0 str1,得到输出的第二行记为str2;再执行程序输入1 str2,输出的第二行必为str1。
()【解析】因为是加密和解密,这两个必然相同。
故判对。
30.当输入为1 SGVsbG93b3JsZA==时,输出的第二行为HelloWorld。
()【解析】手动模拟,判错。
31.设输入字符串长度为n,encode 函数的时间复杂度为()。
A. Θ,O(n)B. O(n)C. O(nlogn)D. O(n!)【解析】看程序,是O(n)的。
32.输出的第一行为()。
A. 0xffB. 255C. 0xFFD. -1【解析】因为table数组的类型被定义为char, 所以结果是-1而不是0xff或者255。
33.(4 分)当输入为0 CSP2021csp时,输出的第二行为()。
A. Q1NQMjAyMWNzcAv=B. Q1NQMjAyMGNzcA==C. Q1NQMjAyMGNzcAv=D. Q1NQMjAyMWNzcA==【解析】模拟一下程序运行情况。