zoukankan      html  css  js  c++  java
  • 2021 CCF非专业级别软件能力认证第一轮 (CSP-J)入门级 C++答案及解析

    试卷下载 浙江J组入围线66分,入围人数共946名,有效参加共5890人。

    一、单项选择题

    1. 答案:D

    解析:C语言是面向过程的,在C语言中没有对象(class)这种概念,C++有STL,就是模版类,当然class也有的。Java、Python也都有class。OI更像c with stl,其实我们做的事情就是面向解决问题的过程,又叫算法。

    2. 答案:B

    解析:图灵是人工智能之父,有个很著名的人工智能测试叫做图灵测试。

    3. 答案:A

    解析:送分题,计算机只认0和1。

    4. 答案:C

    解析:继续送,先选第一个作为最大值,然后比较N-1次。1个数比较0次,特判出来也可以。

    5. 答案:D

    解析:b不可能比a先出栈,选D

    6. 答案:D

    解析:树有n-1边,m-(n-1)=m-n+1

    7. 答案:C

    解析:(4+1+1* 1/2+1/4=5.75)

    8. 答案:A

    解析:完全二叉树种数就是高度为5要填几个,是(2^{5-1}=16)

    9. 答案:B

    解析:后缀表达即把运算符放在后面,如果不会转换,可以带答案,为B

    10. 答案:B

    解析:先6个里面选2个,再4个里选2个,最后两个2个里选两个。利用乘法原理,但是过程中包含了顺序,需要再除去。
    (C(6,2)*C(4,2)*C(2,2)/A(3,3)=15)

    11. 答案:B

    解析:贪心,哈夫曼编码 出现次数多的编码短,这样总长度就短了。

    12. 答案:A

    解析:分类,第1位放3or第一位放1或2,(2*2+(6+1)*2=18种)

    13. 答案:C

    解析:(7*5*3*2*1=210)

    14. 答案:B

    解析:有abdce、acdbe、acedb三种顺序,有2种可能。

    15. 答案:B

    解析:1,2过河,1返回。
    4,8过河,2返回。
    1,2过河。
    2+1+8+2+2=15,更一般的情况,挺难的贪心 POJ1700Crossing River

    二、阅读程序

    1.f(x)实际上是popcount,返回x二进制表示中1的个数,g(x)为lowbit操作,树状数组一个非常经典的操作。取出非负整数n在二进制表示下最低位的1,以及它后面的0构成的数值,也就是最低位的1所对应的2的幂。典中点之 基本数据类型在内存中的存储

    1) 答案:F

    解析:n=1001,a下标可使用范围[0,999],越界了

    2) 答案:F

    解析:f(x)使用的是&(x-1),1一定会被去完

    3) 答案:F

    解析:(a[4]=10=(1010)_{2}),有f(x)=2, g(x)=2

    4) 答案:T

    解析:f(x)=16,g(x)=2,如果没看懂程序,这个不好做。

    5) 答案:F

    解析:g函数未定义

    6) 答案:B

    解析:这两个数非常特殊,65536时2的16次方,2147483647是int最大值,全是1。f(-65536)=16,g(65536)=65536,f(2147483647)=31,g(214748367)=1。这个不好做

    2.仅包含解密字符串部分,应该我中午发了你们都看到了?当然硬着分析也问题不大。TZOJ7214: Base64编码

    1) 答案:F

    解析:解密得到的是任意的,没有限定

    2) 答案:T

    解析:仅包含了大小写字母、数字和"+"和"/"这64种字符和“=”,输入些垃圾字符,就会被忽略掉。

    3) 答案:?T

    解析:有争议,如果char类型有符号是-1,否则是255。C语言标准没定义,是ub(undefined behavior)。

    4) 答案:B

    解析:decode只有一个n的循环,string只有添加字符操作

    5) 答案:B

    解析:手算,不难,去年有彩蛋,今年没有。

    6) 答案:C

    解析:这个题目会稍微复杂些,你首先要推出输出字符串长度为8,然后再算再分析,这样的题目建议题目全写完后有非常多的时间再做。

    3.和素数筛选有关,很像我们上课学的埃斯特尼筛法,他进行了一下优化。上课也提到过,这是欧拉筛(线性筛)。

    1) 答案:T

    解析:如果x不等于1,f[1],g[1]也用不到

    2) 答案:F

    解析:c[i]为i的最小质因子的次数+1,即f[i]的一个因子,这个筛法很巧妙的,有兴趣可以了解下,

    3) 答案:F

    解析:g求因子和,因子和的话

    4) 答案:A

    解析:这个算法很nb,O(n)的,因为第二重循环循环到要重复的数时就break掉了,也就是不会重复标记多次。

    5) 答案:C

    解析:数一下100以内的质数个数,2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97共25个

    6) 答案:C

    解析:看懂了很简单,f求因子个数,g求因子和。(1000=2^{3}*5^{3}),因子个数为((3+1)*(3+1)=16);因子和的公式比较复杂,自己就手算一下吧。

    三、完善程序

    1.本题很简单,有做错的出去挨打。我们约瑟夫环写的比这个难。

    1) 答案:D

    解析:c记录离开的人数,c=n-1作为结束条件

    2) 答案:C

    解析:p记录当前报的数,报1离开。

    3) 答案:C

    解析:离开的人数+1

    4) 答案:D

    解析:交替0和1

    5) 答案:B

    解析:i表示当前报数的人,需要从0~(n-1)依次

    2.二分+枚举,不算难,相对阅读程序来说,这次完善程序很简单。

    1) 答案:B

    解析:按照横纵坐标排序。

    2) 答案:D

    解析: unique函数是要删去多余的点,第一个点保留,之后和前一个比,相等就舍去,其实就是离散化的思想,线段求交也能用。

    3) 答案:C

    解析:这不就是二分嘛,右移就是/2

    4) 答案:B

    解析:点是按升序排的,也是一样的比较方法,满足则p点在mid右侧

    5) 答案:D

    解析:前两层循在枚举左下顶点和右上顶点,需要判断i点是不是在j点的左下方。

    大佬您太强了,还请多多指教哎
  • 相关阅读:
    Eclipse安装Hadoop插件
    (转)Ubuntu14.0.4中hadoop2.4.0伪分布模式配置
    Hadoop--DataNode无法启动
    启动与关闭hadoop
    hadoop中执行命令时发生错误
    strings命令
    Deriving data from ElasticSearch Engine
    elasticsearch data importing
    reading words in your computer and changing to female voice, linux festival text2wave saving wav files
    DDNS client on a Linux machine
  • 原文地址:https://www.cnblogs.com/BobHuang/p/15312321.html
Copyright © 2011-2022 走看看