DAY 1(2021 CSP-J)
T8
如果一棵二叉树只有根节点,那么这棵二叉树高度为1。请问高度为5的完全二叉树有( )种不同的形态?
A. 16
B. 15
C. 12
D. 24
解析:
因为前4层肯定都是满的,所以我们只要计算最后一层叶子结点最多的数量(满二叉树下最后一层叶子结点的数量),而第k层叶子结点的数量为2k−1,25−1=16,所以选A。
T10
6个人,两个人组一队,总共组成三队,不区分队伍的编号。不同的组队情况有( )种。
A. 10
B. 15
C. 30
D. 20
解析:
先计算在6个人里去拿出4个人的情况,答案为15。再计算在4个人里拿出2人的情况,答案为6。还要计算2个人里去拿出2个人的情况,答案为1。将这三个数相乘,15×6×1=90。因为队伍的编号是不区分的,所以我们还要除以一个3全排列的一个答案。3的全排列是6,90÷6=15,所以选B。
T15
有四个人要从A点做一条船过河到B点,船一开始在A点。该船一次最多可坐两个人。已知这四个人中每个人独自过河时间分别为1,2,4,8,且两个人坐船的过河时间为两人独自过河时间的较大者。则最短( )时间可以让四个人都过河到B点(包括从B点把船开回A点的时间)。
A. 14
B. 15
C. 16
D. 17
解析:
要使时间最小,我们的安排要尽量满足以下两个条件:
- 每次回来选过河中最小的。
- 每次过去将剩下没过和的两个最大的放在一起过河。
所以根据这两个条件我们可以这样安排:
第一次:1和2坐船过河,2坐船回来。
第二次:4和8坐船过河,1坐船回来。
第三次:1和2坐船过河。
这样的话,四个人现在已经全部从A点到了B点,总时间也为2+2+8+1+2=15,所以选B。
DAY 3(2022 CSP-J)
T1
以下哪种功能没有涉及C++语言的面向对象特性支持:( )。
A. C++中调用printf函数
B. C++中调用用户定义的类成员函数
C. C++中构造一个class或struct
D. C++中构造来源同一基类的多个派生类
解析:
printf是C语言继承过来的语言,又因为C是面向过程的,所以printf这条语句也是面向过程的,所以选A。
T6
对表达式a+(b-c)∗d的前缀表达式为( ),其中+,-,∗是运算符。
A. ∗+a-bcd
B. +a∗-bcd
C. abc-d∗+
D. abc-+d
解析:
我们将式子加入括号,那么式子就是 ((a+(b-c))∗d),再将运算符移至前面,那么式子就是+a∗-bcd,所以选B。
T9
考虑有N个顶点构成的有向连通图,采用邻接矩阵的数据结构表示时,该矩阵中至少存在( )个非零元素。
A. N−1
B. N
C. N+1
D. N2
解析:
因为是连通图,所以每个点都要能直通其他点,我们以两个点为例,如果要这个图是连通图,那么就要2条边,也就是n条边,所以选B。
T10
以下对数据结构的表述不恰当的一项为:()。
A. 图的深度优先遍历算法常使用的数据结构为栈。
B.栈的访问原则为后进先出,队列的访问原则是先进先出。
C. 队列常常用于广度优先搜索算法。
D. 栈与队列存在本质不同,无法用栈实现队列。
解析:
D选项没有说用几个栈,所以我们可以用两个栈来模拟队列,所以选D。
T14
一个字符串中任意连续的字符组成的子序列称为该字符串的字串,则字符串abcab有( )个内容互不相同的子串。
A. 12
B. 13
C. 14
D. 15
解析:
我们来枚举一下情况:
a
ab
abc
abca
abcab
5种
b
bc
bca
bcab
4种
c
ca
cab
3种
现在有5+4+3=12种,因为空串也是字符串的子串,所以还要+1,12+1=13种,所以选B。
DAY 5(2024 SCP-J)
T3
C++语言中,以0b开头的数为( )进制数。
A. 二进制
B. 八进制
C. 十进制
D. 十六进制
解析:
二进制的简写为B,前面加个零就是0b,所以选A。
T12
以下哪一种算法典型地使用了分治法的思想来解决问题?( )
A. 线形搜索
B. 快速排序
C. 冒泡排序
D. 插入排序
解析:
快速排序是将数组分为两个序列,所以选B。
T13
奇偶校验编码是常见的校验编码方式。对于二进制编码AnAn−1...A2A1,奇偶校验编码在编码的最后一位增加一位校验位G,并将原编码与校验位作为整体发送。校验位分为奇校验位与偶校验位,奇校验位保证$A_n\operatorname{xor}A_{n-1}\operatorname{xor}...\operatorname{xor}A_2\operatorname{xor}A_1\operatorname{xor}G=1$,偶校验位保证$A_n\operatorname{xor}A_{n-1}\operatorname{xor}...\operatorname{xor}A_2\operatorname{xor}A_1\operatorname{xor}G=0$。下列编码与校验位对应正确的是( )。
A. 编码11100111 奇校验位 0
B. 编码01100010 偶校验位 0
C. 编码00010010 奇校验位 1
D. 编码11100010 奇校验位 1
解析:
C选项异或后的答案是0,跟1异或以后的答案是1,所以是对的,选C。
DAY 6(2023 SCP-J)
T1
网址www.luogu.com.cn当中,顶级域名是( )。
A. www
B. cn
C. com.cn
D. luogu
解析:
cn是中国国家顶级域名。
T7
观察下列代码
int a[]={5,4,3,2,1};
auto p=a+3;
auto q=&p;
(*q)++;
auto k=*p;
其中,k的类型以及k的值分别为( )。
A. int类型,值为1
B. int类型,值为3
C. int指针类型,值为a数组的下标为3的元素的地址
D. int指针类型,值为a数组的下标为4的元素的地址
解析:
p等于a的第4个元素,q等于p的地址,q++,那么就是第4个元素,选A。
T9
一张大小为6114×8192的24位彩色图片,使用.bmp格式储存,占用的空间大小约( )。
A. 144Mib
B. 188Mib
C. 1152Mib
D. 48Mib
解析:
6114×8192×24÷8÷1024≈144,所以选A。
T10
以下程序片段的时间复杂度为( )。
int cnt=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j+=i){
for(int k=1;k<=n;k+=j){
++cnt;
}
}
}
提示:
$$\frac{n}{1^1}+\frac{n}{2^1}+\frac{n}{3^1}+···+\frac{n}{n^1}≈C_1×logn$$$$\frac{n}{1^2}+\frac{n}{2^2}+\frac{n}{3^2}+···+\frac{n}{n^2}≈C_2$$
其中,C1,C2均为常数。
A. Θ(n2)
B. Θ(n2logn)
C. Θ(nlogn)
D. Θ(nlog2n)
解析:
实际上你算一下就会发现,答案是A。
T13
观察如下代码片段:
union U{
bool flag1,flag2,flag3,flag4,flag5;
signed short a;
unsigned short b;
enum E{
CardA=0,CardB=1,
CardC=2,CardD=142857
}e;
}u;
其中,sizeof(u)的值为( )。
A. 4
B. 8
C. 13
D. 16
解析:
其实这题要求的就是int的字节,int的字节是4,所以选A。
T14
已知某种可用来维护序列的数据结构,支持Θ(logn)想某个位置后面插入元素、Θ(n)查询某个元素的排名,Θ(nlogn)遍历整个序列,那么用上述三种操作实现插入排序的时间复杂度最坏为( )。
A. Θ(n2)
B. Θ(n2logn)
C. Θ(nlogn)
D. Θ(nlog2n)
解析:
实际上这道题目就是在问你插入排序的时间复杂度,插入排序的时间复杂度为Θ(n2),所以选A。
T15
今年是CCF(中国计算机学会)第( )次举办CSP-J/S(计算机非专业级别的软件能力认证)?
A. 27
B. 28
C. 5
D. 4
解析:
CCF(中国计算机学会)是从2019年开始举办CSP-J/S(计算机非专业级别的软件能力认证)的,所以到2023年共举办了5年,所以选C。
DAY 7(2023 CSP-J)
T3
阅读下述代码,请问修改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;
解析:
实际上联合体与结构体的查找方式是一模一样的,联合体与结构体在本质上也没有什么区别。只是联合体它的地址是连续的,而结构体不是。
T6
小明在某一天中依次有七个时间段,他想要选出至少一个空闲时间段来练习唱歌,但他希望任意两个练习的时间段之间都有至少两个空闲的时间段让他休息,则小明一共有( )种选择时间的方案。
A. 31
B. 18
C. 21
D. 33
解析:
这道题目直接枚举,1的情况有7种,2的情况有10种,3的情况有1种,7+10+1=18种,所以选B。
T14
一个班级有10个男生和12个女生。如果要选出一个3人的小组,且小组中必须至少包含1个女生,那么有多少种可能的组合?( )
A. 1420
B. 1770
C. 1540
D. 2200
解析:
我们可以用排列组合的公式来求:
有1个男生的情况:C101×C122=660
有2个男生的情况:C102×C121=540
没有男生的情况:C123=220
一共有660+540+220=1420种组合,所以选A。
2
老师作业
DAY 3
1
推规律。
|
m |
|
| n |
0 |
1 |
2 |
3 |
| 0 |
0 |
0 |
| 1 |
1 |
| 2 |
3 |
4 |
| 3 |
7 |
12 |
| 4 |
15 |
32 |
| 5 |
31 |
80 |
| 6 |
63 |
192 |
| 7 |
127 |
448 |
公式为:f[i][j]=f[i−1][j]×2+f[i−1][j−1]+1。
2
最多需要6次。
DAY 6
总共有190种情况,情况如下:
第1种:1 2 1 2
第2种:1 2 1 3
第3种:1 2 1 4
第4种:1 2 1 5
第5种:1 2 1 6
第6种:1 3 1 2
第7种:1 3 1 3
第8种:1 3 1 4
第9种:1 3 1 5
第10种:1 3 1 6
第11种:1 3 2 3
第12种:1 3 2 4
第13种:1 3 2 5
第14种:1 3 2 6
第15种:1 4 1 2
第16种:1 4 1 3
第17种:1 4 1 4
第18种:1 4 1 5
第19种:1 4 1 6
第20种:1 4 2 3
第21种:1 4 2 4
第22种:1 4 2 5
第23种:1 4 2 6
第24种:1 4 3 4
第25种:1 4 3 5
第26种:1 4 3 6
第27种:1 5 1 2
第28种:1 5 1 3
第29种:1 5 1 4
第30种:1 5 1 5
第31种:1 5 1 6
第32种:1 5 2 3
第33种:1 5 2 4
第34种:1 5 2 5
第35种:1 5 2 6
第36种:1 5 3 4
第37种:1 5 3 5
第38种:1 5 3 6
第39种:1 5 4 5
第40种:1 5 4 6
第41种:1 6 1 2
第42种:1 6 1 3
第43种:1 6 1 4
第44种:1 6 1 5
第45种:1 6 1 6
第46种:1 6 2 3
第47种:1 6 2 4
第48种:1 6 2 5
第49种:1 6 2 6
第50种:1 6 3 4
第51种:1 6 3 5
第52种:1 6 3 6
第53种:1 6 4 5
第54种:1 6 4 6
第55种:1 6 5 6
第56种:2 3 1 2
第57种:2 3 1 3
第58种:2 3 1 4
第59种:2 3 1 5
第60种:2 3 1 6
第61种:2 3 2 3
第62种:2 3 2 4
第63种:2 3 2 5
第64种:2 3 2 6
第65种:2 4 1 2
第66种:2 4 1 3
第67种:2 4 1 4
第68种:2 4 1 5
第69种:2 4 1 6
第70种:2 4 2 3
第71种:2 4 2 4
第72种:2 4 2 5
第73种:2 4 2 6
第74种:2 4 3 4
第75种:2 4 3 5
第76种:2 4 3 6
第77种:2 5 1 2
第78种:2 5 1 3
第79种:2 5 1 4
第80种:2 5 1 5
第81种:2 5 1 6
第82种:2 5 2 3
第83种:2 5 2 4
第84种:2 5 2 5
第85种:2 5 2 6
第86种:2 5 3 4
第87种:2 5 3 5
第88种:2 5 3 6
第89种:2 5 4 5
第90种:2 5 4 6
第91种:2 6 1 2
第92种:2 6 1 3
第93种:2 6 1 4
第94种:2 6 1 5
第95种:2 6 1 6
第96种:2 6 2 3
第97种:2 6 2 4
第98种:2 6 2 5
第99种:2 6 2 6
第100种:2 6 3 4
第101种:2 6 3 5
第102种:2 6 3 6
第103种:2 6 4 5
第104种:2 6 4 6
第105种:2 6 5 6
第106种:3 4 1 2
第107种:3 4 1 3
第108种:3 4 1 4
第109种:3 4 1 5
第110种:3 4 1 6
第111种:3 4 2 3
第112种:3 4 2 4
第113种:3 4 2 5
第114种:3 4 2 6
第115种:3 4 3 4
第116种:3 4 3 5
第117种:3 4 3 6
第118种:3 5 1 2
第119种:3 5 1 3
第120种:3 5 1 4
第121种:3 5 1 5
第122种:3 5 1 6
第123种:3 5 2 3
第124种:3 5 2 4
第125种:3 5 2 5
第126种:3 5 2 6
第127种:3 5 3 4
第128种:3 5 3 5
第129种:3 5 3 6
第130种:3 5 4 5
第131种:3 5 4 6
第132种:3 6 1 2
第133种:3 6 1 3
第134种:3 6 1 4
第135种:3 6 1 5
第136种:3 6 1 6
第137种:3 6 2 3
第138种:3 6 2 4
第139种:3 6 2 5
第140种:3 6 2 6
第141种:3 6 3 4
第142种:3 6 3 5
第143种:3 6 3 6
第144种:3 6 4 5
第145种:3 6 4 6
第146种:3 6 5 6
第147种:4 5 1 2
第148种:4 5 1 3
第149种:4 5 1 4
第150种:4 5 1 5
第151种:4 5 1 6
第152种:4 5 2 3
第153种:4 5 2 4
第154种:4 5 2 5
第155种:4 5 2 6
第156种:4 5 3 4
第157种:4 5 3 5
第158种:4 5 3 6
第159种:4 5 4 5
第160种:4 5 4 6
第161种:4 6 1 2
第162种:4 6 1 3
第163种:4 6 1 4
第164种:4 6 1 5
第165种:4 6 1 6
第166种:4 6 2 3
第167种:4 6 2 4
第168种:4 6 2 5
第169种:4 6 2 6
第170种:4 6 3 4
第171种:4 6 3 5
第172种:4 6 3 6
第173种:4 6 4 5
第174种:4 6 4 6
第175种:4 6 5 6
第176种:5 6 1 2
第177种:5 6 1 3
第178种:5 6 1 4
第179种:5 6 1 5
第180种:5 6 1 6
第181种:5 6 2 3
第182种:5 6 2 4
第183种:5 6 2 5
第184种:5 6 2 6
第185种:5 6 3 4
第186种:5 6 3 5
第187种:5 6 3 6
第188种:5 6 4 5
第189种:5 6 4 6
第190种:5 6 5 6