CSP 2021 入门级(DONE)

1.C 语言不支持面向对象。

2.计算机界的最高奖项“图灵奖”以英国的阿兰·艾伦·图灵命名,被称为“计算机界的诺贝尔奖”。

3.计算机内部用二进制储存。

4.先将第一个数赋值给最大值,然后扫一遍还剩下 n−1<script type="math/tex;mode=inline" id="MathJax-Element-6">n-1</script>n-1 个数。

5.对于 D 选项,如果 c 最先出栈了,那么栈底必然有 a 和 b,不可能是 a 先出栈。

6.一棵 n 个顶点的树有 n−1<script type="math/tex;mode=inline" id="MathJax-Element-2">n-1</script>n-1 条边, m−(n−1)=m−n+1<script type="math/tex;mode=inline" id="MathJax-Element-4">m-(n-1)=m-n+1</script>m-(n-1)=m-n+1 。

7. (0.11)2=0.5+0.25=(0.75)10<script type="math/tex;mode=inline" id="MathJax-Element-5">(0.11)_2=0.5+0.25=(0.75)_10</script>(0.11)_2=0.5+0.25=(0.75)_10 ,看小数部分即可。

8.第五层最多有 25−1=16<script type="math/tex;mode=inline" id="MathJax-Element-1">2^{5-1}=16</script>2^{5-1}=16 个节点,注意不能为空,所以答案 16。

9.方法是把每一次运算加上括号,把运算符移到本组括号的末尾,然后去掉所有括号即可。

10.设有 A,B,C,D,E,F 六人,对于第一队的可能情况有 15 种,第二队的可能有 6 种,第三队可能为 1 种,因为计算了重复的,需要除以 3!<script type="math/tex;mode=inline" id="MathJax-Element-3">3!</script>3! 。

11.哈夫曼编码是典型的贪心。

12.数字不多,可以枚举,有:112,113,123,122,121,131,132,211,212,213,221,223,231,232,311,312,321,322共 18 种。

13.采用递推的方式:

<img src="https://pic3.zhimg.com/v2-c5a662ee7255b714cac29d48627929ca_b.jpg" data-caption="" data-size="small" data-rawwidth="145" data-rawheight="161" class="content_image" width="145"/>

14.枚举一下每一次的分支可能,发现只有 b 和 e 有可能(abdce,acedb,acdbe)。

15.策略如下:
第一次:1 和 2 过去,2 回来。
第二次:4 和 8 过去,1 回来。
第三次:1 和 2 过去。
答案总计 <script type="math/tex;mode=inline">2+2+8+1+2=15</script>2+2+8+1+2=15 。

16.数组最大下标只有 999,所以 n=1001 肯定炸。

17.看 21 题有输出就证明负数没关系。

18.分析一下函数:
g 函数相当于 lowbit(其二进制最低位的1所表示的数字),
f 函数就是在统计 x 的二进制中 1 的个数。
发现对于 10 的答案错了,应该是 2+2=4。

19.其二进制为 <script type="math/tex;mode=inline">0111 1100 1111 1111 1110</script>0111 1100 1111 1111 1110 ,因为是正数不需要考虑转补码,答案就是 <script type="math/tex;mode=inline">16+2=18</script>16+2=18 。

20.函数放在 main 后需要定义,否则会 CE

21.第二个数很特殊,是 32 位二进制中除了符号位全为 1 的数字,答案是 31+1=32。至此答案已出,如果看第一个数,因为其相反数是二的幂次方,二进制源码(注意要当作 int 来看,前面需要补 0)为 <script type="math/tex;mode=inline">\text{1000 0000 0000 0001 0000 0000 0000 0000}</script>\text{1000 0000 0000 0001 0000 0000 0000 0000} ,转成补码就是 <script type="math/tex;mode=inline">\text{1111 1111 1111 1111 0000 0000 0000 0000}</script>\text{1111 1111 1111 1111 0000 0000 0000 0000} ,所以也很明显。

22.手算 base64,发现 ret 的取值并非 base 数组中的,而是由数字强行转化而来的,所以不限于题中描述的部分。

23.涉及到 base64 的性质了,唯一的字符串值将始终编码为唯一的 base64 编码,但是不同的 base64 编码可能解码后的字符串相同,比如 h9Mw1wh9Mw13

24.一个补码的转换:255 的二进制即 11111111,对于 int 来说前面的符号位为 0,但是对于只有八位的 char 来说就是一个符号位为 1 的补码,所以减一后取反可以得到原码,答案即 -1。

25.因为是线性的扫了一遍,所以直接 O(n)。

26.只要判断最后一个 if 就可以快速得出答案,先理一遍 tablebase 的关系,然后直接找出对应的数字,然后按代码模拟一下,发现最后一个字母是 q,答案显然。

27.同理找到不同点,即中间的空格和末尾的数字,按需找到目标进行模拟可以省去一些功夫,注意空格的编码是 32。

28.模拟一下可发现之后没有用到 f[1]g[1] 的值,因此没问题。

29.依然是模拟,发现 f[i] 总是等于 c[i*k],所以不会取整。

30.随便写几个就知道 g 不是单调递增的了。

31.比较难看,但是模拟一下可知 a 数组是个素数标记,m 就是素数个数,因此是个常数,可以认为是 $O(n)$ 的。

32.发现 f[i] 为 2 的情况就是 100 以内素数的个数,果断 25。

33.题目是个积性函数筛法。经过简单的模拟可以发现 a 就是素数标记,b 储存所有素数,c 为最小质因子出现的次数,f 为因数个数,g 为因子和,于是这题平凡。

34.约瑟夫问题应该要离开 n-1 个人,而 c 记录当前离开人数,即其等于 n-1 时退出循环。

35.题中说了报到 1 的人离开,而 p 就是表示当前报的数,而 p==1 又等价于 p

36.如果第 i 个人离开了,那么离开人数 c 就要加一。

37.而无论这个人有没有离开,报的数也要变化,和 1 异或就相当于 1 变成 0,0 变成 1。

38.由于是不断循环报数,因此也需要不断取余。

39.结合下面的二分或排序知道 A 数组是以 x 为第一关键字,y 为第二关键字的坐标集合。

40.去重就是和前一个相同的就不选。

41.二分模板。

42.由于从小到大排序了,所以 A[mid]<p 才会向右更新答案。

43.为了不重复枚举,需要保证前者小于后者(有序枚举)。

CSP 2021 入门级的更多相关文章

  1. CSP 2021 总结

    CSP 2021 总结 PJ 开题顺序:1342 应该先做 T2 ,导致我 T2 直接看错 T1.T3 T1 :直接推规律即可,考场的想法应该正确 T3 :好家伙直接 map 走起 T2 最崩溃的来了 ...

  2. 【游记】CSP 2021 J2

    这次是第一次参加CSP的复赛,所以考的就很LJ. \(DAY-\infty\) 到 \(DAY-14\) 知道了自己苟过了初赛,像个SB一样. (我初赛66分,旁边那位63.5,cao着线过去的) \ ...

  3. CSP 2021 游记

    \(\text{Day -INF}\) 看见了 \(\text{SCP2021}\) 的报名通知,想着应该教练会让我们统一报名,就没放在心上 然后-- 然后过了二十多天教练根本没有提报名的事情,搞得我 ...

  4. [游记]CSP 2021 J/S

    这一次,也许是我的OI生涯的转折点了--能过,学习OI的时间就不会减少:但不能过,就会减少学习OI的时间-- 上午(S组) 6:00起床.去吃早餐,结果因为边喝粥边喝牛奶导致肚子疼.(我在这里劝大家, ...

  5. GDOI 2021 PJ 总结

    Day 0.5 在门口等了好久,终于进去了. Day 1 下午来到考场,发现自己承诺书没有拿,然后就跑到宿舍去拿,回来发现只要身份证. T1一眼是个博弈,发现不太好打,先跳. T2发现最多消耗4320 ...

  6. 后缀自动机(SAM)奶妈式教程

    后缀自动机(SAM) 为了方便,我们做出如下约定: "后缀自动机" (Suffix Automaton) 在后文中简称为 SAM . 记 \(|S|\) 为字符串 \(S\) 的长 ...

  7. 2021.09 ccf csp 第四题 收集卡牌

    2021.09 ccf csp 第四题 收集卡牌 思路 这题如果直接计算,因为不同的分类种数太多,枚举所有的分类情况是一个几乎不可能的复杂任务. 但不同摸牌次数,不同已摸出牌种类的子问题的答案之间,具 ...

  8. 2021.10.19 CSP 模拟赛 总结

    T1 题意: \(n\) 个人摘苹果,跳起高度为 \(a_i\),苹果高度为 \(h_i\),高度小的先摘,摘了就没了 直接排序+双指针,复杂度 \(O(n+m)\) T2 题意:要轰炸一个有向图的所 ...

  9. 2021年Wordpress手把手教你做个独立站——部署篇

    2021年Woocommerce电商主题的安装部署教程 Woocommerce是一个Wordpress的一个流行的电商插件.完成Wordpress的安装即已完成80%.剩下的便是去寻找一款合适的自己喜 ...

  10. CSP-J 2021 游记

    今年是本人第一次参加CSP组的竞赛. Day 0 晚上复习了几套初赛试卷,做到晚上十点多结束.其实暑假已经做过不少了. Day 1 早上继续复习noip历年真题,在洛谷有题上面自己做题,一向只能考十几 ...

随机推荐

  1. 超简单JSP人员信息管理系统(适合新手练手用)

    自己以前闲着没事写的JSP小项目,适合刚学完JSP拿来练手的朋友. 源码地址: https://github.com/mudfish/userManager 项目说明: 软件需求: 开发工具:ecli ...

  2. SpringBoot整合Swagger2实现接口文档

    展示一下 访问方式一 访问地址:http://localhost:8080/swagger-ui.html#/ 首页 详情页 访问方式二 访问地址:http://localhost:8080/doc. ...

  3. RK3568开发笔记(二):入手RK3568开发板的套件介绍、底板介绍和外设测试

    前言   本篇主要介绍RK3568芯片和入手开发板的底板介绍以及开发板的外设.   开发板   笔者的开发板是全套+10.1寸屏. 开发板实物     开发板资源    开发版本提供资料     开发 ...

  4. Elasticsearch下载安装配置

    下载地址 # elasticsearch https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-8-3 # kibana ...

  5. 【开发工具】Linux 服务器 Shell 脚本简单入门

    记录一下学习Shell编程的关键知识点,使用最通俗简洁的语句,让阅读者能快速上手Shell脚本的编写 1.什么是Shell? Shell是一种常用于服务器运维的脚本语言.众所周知,脚本语言不需要编译器 ...

  6. canal实现mysql跨机房备份

    背景介绍 跨机房数据库数据备份 数据库增量异构系统分发(cache,mq等) 数据内容聚合分析组件 摘录作者的描述 原理图 canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL ...

  7. 一文详解云上自动化部署集群管理工具 Nebula Operator

    本文首发于 Nebula Graph 公众号:Nebula Operator 开源啦!一文详解这个云上自动化部署集群管理工具 在介绍 Nebula Operator 之前,让我们先来了解下什么是 Op ...

  8. 手把手教你蜂鸟e203协处理器的扩展

    NICE协处理器 赛题要求:   对蜂鸟E203 RISC-V内核进行运算算子(譬如加解密算法.浮点运算.矢量运算等)的扩展,可通过NICE协处理器接口进行添加,也可直接实现RISC-V指令子集(譬如 ...

  9. opencv库图像基础2-python

    opencv库图像基础2-python 图像的简单变换 先导入库 import cv2 import matplotlib.pyplot as plt import numpy as np 1.图像的 ...

  10. MVVM --- 实现多层级通知

    引言 在实际开发场景中,当ViewModel内的一个属性是一个 ObservableCollection<T> 或者是一个多层级 class 的时候,有可能有的需求需要 Observabl ...