CSP-S 2022初赛
进制转换
\(N\) 进制转十进制:
设小数点前一位为第 \(0\) 位,往前为正,往后为负。
则二进制转十进制:\((101.0101)_2=1*2^2+1*2^0+1*2^{-2}+1*2^{-4}=5.3125\)
其它进制类似。
十进制转 \(N\) 进制:
整数部分:除 \(N\) 取余,逆序排列。
\((551)_{10}=(1000100111)_2\)
小数部分:乘 \(N\) 取整,顺序排列。
\((0.625)_{10}=0.101\)
二进制转八进制:三位一转,高位不足用 \(0\) 补齐,\((1000100111)_2=(1047)_8\)。
八进制转二进制:一转三位,\((1047)_8=(1000100111)_2\)
二进制转十六进制:四位一转,高位不足用 \(0\) 补齐。
十六进制转二进制:一转四位。
内存单位转换
位 \(bit\):最小的存储单位,存储 \(0,1\) 位。
字节 \(Byte(B)\):最常用的单位,\(8\) 个 \(bit\) 为一个字节。
\(1~Byte(B)=8~bit\)
\(1~KiloByte(KB)=1024~B\)
\(1~MetaByte(MB)=1024~KB\)
\(1~GigaByte(GB)=1024~MB\)
\(1~TeraByte(TB)=1024~GB\)
排序的稳定性
若 \(i<j,a[i]=a[j]\) ,在排序后仍然能保证 \(a[i]\) 在 \(a[j]\) 前,即为稳定排序。
稳定排序:基数排序,冒泡排序,插入排序,归并排序。
不稳定排序:堆排序,快速排序,希尔排序,选择排序。
快速排序最坏情况下是 \(O(n^2)\) ,只是被优化到了 \(O(n\log n)\) 。
堆排就是把所有元素放入堆中,然后取出堆顶,复杂度严格 \(O(n\log n)\) 。
插入排序 ,链接里有图,可能更好理解。就是把当前元素一直往前直到找到它该到的位置。\(O(n^2)\) 。
图像存储空间的计算
位与颜色:一位可以表示两种颜色,\(n\) 位就可以表示 \(2^n\) 种颜色。
分辨率:图像水平和垂直方向的像素个数。
例:分辨率为 \(1600\times 900\),\(16\) 位色的位图,存储图像信息所需的空间为:\(2812.15~KB\)
解析:
图像为 \(16\) 位色,则每一像素占 \(16~bit\) ,存储空间为 \(1600\times 900\times 16~bit\)。
转化为 \(KB\) 就 \(\div (8 \times 1024)\),答案就是 \(2812.15~KB\) 。
计算机相关
中央处理器 \(CPU\):由运算器,控制器,寄存器组成。
运算器进行运算,控制器控制计算机部件协调工作。
\(CPU\) 的主要性能指标是:主频和字长(可以一次处理的数据大小),主要任务是执行数据运算和程序控制。
存储器:\(CPU\) 能直接访问的存储器称为内部存储器,不能直接访问的称为外部存储器,外部存储器中的信息必须调入内存后才能被 \(CPU\) 处理。
主存储器:属于内部存储器。按照读写功能分为:
-
只读存储器(\(ROM(Read~only~memory)\),断电数据还在,如 \(BIOS\)
-
随机存储器(\(RAM(Random~access~memory)\),断电数据没有,如内存条)。
外存储器:速度比主存储器要慢,包括 \(U\) 盘,硬盘等移动存储设备。
数据读写速度:寄存器 \(>\) 高速缓存 \(>\) 内存 \(>\) 硬盘 \(>\) 光盘 \(>\) 其它辅助存储器。
机器语言:计算机可以直接识别,速度快,用二进制代码编写,很难掌握,属于低级语言。
汇编语言:不能被计算机直接识别,可移植性差,属于低级语言。
高级语言:计算机不能直接识别,通过编译或解释使计算机识别。
局域网:\(LAN\),广域网:\(WAN\),城域网:\(MAN\)。
主定理
对于形如递归式算法 \(T(n)=aT(\frac{n}{b})+f(n)\) 的时间复杂度,可以使用主定理求解。
理解记忆,其中各变量的含义:
-
\(n\):问题的规模大小。
-
\(a\):原问题的子问题的个数。
-
\(\frac{n}{b}\): 每个子问题的大小,这里假设了每个子问题有相同的大小。
-
\(f(n)\):合并子问题所需要的时间。
该递归式的时间复杂度分为三种情况讨论:
比较 \(n^{\log_ba}\) 和 \(f(n)\) 的大小(在渐进意义下):
-
若 \(n^{\log_ba}\) 更大,那么 \(T(n)=O(n^{\log_b a})\)
-
若二者相等,\(T(n)=O(n(\log_ba)\log n)\)
-
若 \(f(n)\) 更大(\(f(n)=n^{\log_ab}n\log^k\)),且有 \(af(\frac{n}{b})\le f(n)\) 那么 \(T(n)=O(f(n)\log^{k+1}n)\)
再强调一遍,上述比较是在渐进意义下的:在渐进意义下,\(n\log n\) 与 \(n\) 视为相等。以下是几个例子:
二分查找: \(T(n)=T(\frac{n}{2})+O(1)\) 。
\(a=1,b=2,f(n)=O(1)\) ,则 \(n^{\log_21}=1=f(1)\) ,符合情况 \(2\) 。
则时间复杂度为 \(O(\log n)\)
笔试真题:\(T(N)=2T(\frac{N}{2})+N\log N\)。
\(a=2,b=2,f(n)=O(n\log n)\),则 \(n^{\log_22}=n=O(n\log n)=f(n)\) 。
所以时间复杂度为 \(O(n\log^2 n)\) 。
树的遍历
前序遍历:根 \(\to\) 左子树 \(\to\) 右子树
中序遍历:左子树 \(\to\) 根 \(\to\) 右子树
后序遍历:左子树 \(\to\) 右子树 \(\to\) 根
这篇 博客 里有图可能方便理解一些。
void pre(int now)
{
printf("%d\n", now);
pre(t[now].lson);
pre(t[now].rson);
}
void mid(int now)
{
mid(t[now].lson);
printf("%d", now);
mid(t[now].rson);
}
void suf(int now)
{
suf(t[now].rson);
suf(t[now].lson);
printf("%d\n", now);
}
题目整理
题目链接:降智了。操作系统:控制和管理计算机系统的各种硬件和软件资源的使用。
题目链接:总线是计算机各种功能部件之间传送信息的公共通信干线。\(CPU\)、存储器、\(I/O\) 设备是通过总线连接起来的。
题目链接:赛扬(底端),奔腾(中底端),酷睿(高端)原来是 \(CPU\) 的型号哦。都是 \(Intel\) 开发的。\(i3,i5,i7\) 都是酷睿的系列。
题目链接:\(POP3(Post~Office~Protocol)\) 是最常用的 \(Email\) 服务协议。\(telnet\) 是远程登陆服务协议。\(FTP(File~transfer~protocal)\) 文件传输协议。`
题目链接:\(ipv6\) 采用 \(128\) 位地址。
题目链接:以太网属于有线网技术。
题目链接: \(C\) 语言是面向过程的编译性语言。
题目链接:地址总线的位数决定了最大可寻址空间的大小。计算机中均由二进制位表示,长度为 \(n\) 的二进制数,可以表示 \(2^n\) 种状态。类比于上述事实,可以得出以下结论:若地址总线的位数为 \(n\) ,那么最大可寻址空间的大小为 \(2^n\) 字节。
题目链接:字节是计算机存储信息的基本单位。
题目链接:智障题目。\(NOI\) 中文是:全国青少年信息学奥林匹克竞赛。
题目链接:竟然蒙对了。中国计算机学会于\(1984\) 年创办 \(NOI\)。
题目链接:矢量图用点、直线或者多边形等基于数学方程的几何图元来表示图像,所以所占存储空间较小,且放大后不会失真。
题目链接:逻辑与 \(\wedge\):都为真则为真,逻辑或 \(\vee\):一方为真则为真,逻辑非 \(\neg\):\(\neg A\) 为真,当且仅当 \(A\) 为假。
题目链接:折半搜索 \(=\) 二分查找???
题目链接:
程序分析:
明确一个点,一个数的 \(vis=true\) 过后,这个数的最优解已经被得到了,可以不用管了。
类比于 \(dijkstra\) 的算法流程,该程序每次找出 \(!vis[i]\) 的最小的 \(F[i]\) 去扩展其它未被扩展的数。
题目链接:可以得出 \(x\) 每 \(n-1\) 次就会到达一次顶点,\(y\) 每 \(m-1\) 就会到达一次顶点。
故 \(x\) 和 \(y\) 第一次同时都到达顶点的时候就是循环 \((n-1)\) 和 \((m-1)\) 的最小公倍数的时候。
题目链接:回溯法是一种选优搜索法,按选优条件向前搜索,已达到目标。当搜索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。(我竟然看成贪心了\kk)
题目链接:动态规划不要用眼瞪,用手去算(已经考试当天了,还犯这种错)。
题目链接:\(64\) 位非零浮点数强制转换成 \(32\) 位浮点数,数值可能变小,不变也可能变大(考虑负数的情况),但符号位始终不改变。
CSP-S 2021(第五题):把原序列分为两个长度为 \(n\) 的序列,将两个序列之间互相比较,然后大的和最大值比,小的和最小值比。
CSP-S 2020(第十七题):程序为求区间第 \(k\) 小值,算时间复杂度的时候应当仔细。
\(n+\frac{n}{2}+\frac{n}{4}+\dots\) 为 \(O(n)\) 。程序读仔细再做题,看清递归边界。务求精准。
题目链接:手套还分左右手。。。审题要严谨。
题目链接:只能说复杂。先确定 \(A\) 为根节点,再确定 \(DBGEHJ\) 为左子树,\(ACIF\) 为右子树。同样的方法,确定 \(B\) 为左子树根节点,\(D\) 为左边,\(GEHJ\) 为右边。再确定 \(E\) 为根节点,\(G\) 在左边,\(HJ\) 在右边。再确定 \(H\) 为根节点,\(J\) 在右边。容易发现,这是一个递归的过程。
题目链接:分清边界。考虑元素初值,极端情况。
NOIP2016:\(GPRS\) 属于无线通信技术。
\(UPDATE: 2022.9.18\) 还是不行吗?已经尽力了。初赛呵。
估分 \(60\) 。最后一道完善程序根本没做,以为很难,然而却是送分题。\(15\) 分白给,\(75\to 60\),终究是梦一场啊。
世事一场大梦,人生几度秋凉?可惜再没下次了。