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. 微信小程序引入iconfont实现添加自定义颜色图标

    说明 最近搞微信小程序,需要添加一些图标,发现引入iconfont还是有几个步骤,就记录下来分享以下. 以下配置方法支持自定义颜色的. 操作步骤 1. 在iconfont网站挑选自己需要的图标,添加到 ...

  2. js常用知识点整理

    说明:以下内容都是我工作中实际碰到的js知识点. 后面还会碰到其他知识点或对原来解决方案的改进,都会在本篇中持续不断的维护,希望给刚参加工作或初学的朋友一些参考. 1.给元素添加事件 $(" ...

  3. qt基础知识总结

    qt基础知识总结 1.ctrl+r:快速运行 2.两种模式的区别: 一个是提供菜单栏的,一个不提供菜单栏 3.界面讲解 layouts:布局=水平布局+垂直布局+网格布局+表单布局 spacers:垫 ...

  4. Hi3516开发笔记(九):在QtCreator开发环境中引入海思sdk的bsp包,运行显示Qt界面

    前言   之前启动Qt界面程序失败了,是因为需要引入HiSDK的BSP中的HiMPP,并对HiMPP进行初始化设置.   在sdk中查询海思SDK头文件和库       在Qt中调用海思BSP   在 ...

  5. shell之sort,uniq,cut,tr

    # sort主要是要理解域 # sort选项 -c 测试文件是否已经分类 -m 合并两个分类文件 -u 删除所有复制行 -o 存储sort结果的输出文件名 -b 使用域进行分类时,忽略第一个空格 -n ...

  6. 【LeetCode递归】括号生成,使用dfs

    括号匹配 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合. 示例 1: 输入:n = 3 输出:["((()))","(() ...

  7. 【LeetCode二叉树#03】翻转二叉树的几种方法

    翻转二叉树 力扣题目链接(opens new window) 翻转一棵二叉树. 这道题目背后有一个让程序员心酸的故事,听说 Homebrew的作者Max Howell,就是因为没在白板上写出翻转二叉树 ...

  8. git开发规范

  9. 【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect locale information provided

    问题描述 在App Service For Linux 中,部署NodeJS应用,应用启动失败. 报错信息为: 2023-08-29T11:21:36.329731566Z RangeError: I ...

  10. 【Azure 应用服务】如何为Web Jobs 安装Python包呢?

    问题描述 WebJobs 怎么安装Python包? 问题解答 第一步:登录到App Service的高级管理工具(Kudu:https://<webappname>.scm.chinacl ...