【初赛】初赛提纲¿& 错题集

目录

  • 来自蒟蒻作者的话
  • 1.数制转换
      • 十进制转r进制
      • r进制转十进制
  • 2.原码补码反码
      • 原码
      • 反码
      • 补码
  • 3.计算机网络
      • 分类
      • 操作系统
      • 各种协议
  • 4.逻辑运算
  • 5.竞赛类
      • 历史
      • 竞赛环境
      • NOIP啥时候不能用Pascal了
      • 面向对象程序设计语言
      • 竞赛推荐语言
      • 奇奇怪怪的内容【误
  • 6.IPv6与IPv4
      • IP头部
      • 文件传输协议
  • 7.信息编码表示
      • 比特(bit)
      • 字节(Byte)
  • 8.玄学的东西
      • 存储结构
      • 数据结构
      • 排序的时间复杂度
  • 9.其他
  • 10.计算机类
      • ROM和RAM的区别
        • 概念
        • 对比
  • 11.算法类
  • 12.亿点错题


来自蒟蒻作者的话

以下是一些我总结的一些考试内容(大多数都是我不会或者是我容易忘记的内容)
不包含全部考点,因此读者也要多查阅其他dalao的blog或者是看书等来备考

友链
d z j dzj dzj(初二)大佬的提纲
c w h   d a l a o cwh\ dalao cwh dalao的提纲
t j h tjh tjh神的提纲
(若无法打开,大概率在审核)


1.数制转换

十进制转r进制

例如(10) 10 _{10} 10转成二进制
【初赛】初赛提纲¿& 错题集_第1张图片
把余数从后往前写下便是二进制数了
因此 ( 10 ) 10 (10)_{10} (10)10 = ( 1010 ) 2 (1010)_2 (1010)2
但是出题人一般比较刁 钻 (恶心)
会出现小数的转换
小数转换其实也很简单,这里还是拿二进制为例
( 0.25 ) 10 (0.25)_{10} (0.25)10 转二进制
就是不断拿0.25去乘2(若是八进制就乘8),每次取整数部分,若为1,则取1,然后整数部分归0,直到没有小数为止,顺着写
【初赛】初赛提纲¿& 错题集_第2张图片
所以 ( 0.25 ) 10 (0.25)_{10} (0.25)10 = ( 0.01 ) 2 (0.01)_2 (0.01)2


r进制转十进制

从后往前逐位乘 2 i 2^i 2i小数点前最后一位视为第0位,越往左约高位,小数点后第一个视为-1位,越往右位数越小
乘了之后相加即可


2.原码补码反码

原码

第一位为符号位,正数为0,负数为1
然后接它的二进制数


反码

正数的反码就是它的原码
负数的反码就是它的原码除符号位外取反
例如11001是原码,那么反码就是10110


补码

正数的补码和它原码一样
负数的补码 = 它的反码 + 1


3.计算机网络

分类

1.局域网(Local Area Network)(LAN)
2.城域网(Metropolitan Area Network)(MAN)
3.广域网(Wide Area Network)(WAN)


操作系统

Windows(使用最广,非开源)
UNIX (多用户,多任务的分时操作系统)
LINUX(自由和开放源码的类UNIX操作系统,较适用于小型网络)
MAC OS(运行于苹果电脑上的操作系统。Mac系统是基于Unix内核的图形化操作系统。由苹果公司自行开发。)


各种协议

ISO/OSI协议模型:各功能层之间,上一层对下一层提出服务要求,下一层完成上一层提出的要求。OSI参考模型将网络结构划分成七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。这只是一种理想的概念模型。

TCP/IP协议模型:传输控制协议/互联网络协议,诞生于1974年12月。分为应用层(OSI的应用层、表示层、会话层)、传输层、网际层(OSI的网络层)、网络接口层(OSI的数据链路层、物理层),包含了TCP、IP、UDP(用户数据报协议)、ARP(地址解析协议)等。

其他常见协议:
WWW(World Wide Web):万维网
URL(Uinform Resource Locator):统一资源定位器
HTTP(Hypertext Transfer Protocol):超文本传输协议
FTP (File Transfer Protocol):文本传输协议
SMTP(Simple Mail Transfer Protocol )简单邮件传输协议
IP地址:Internet中的每一台主机分配一个在全球范围唯一地址。IPv4地址是由32位二进数码表示。为方便记记忆,把这32位二进制数每8个一段用“.” 隔开,再把每一段的二进制数化成十进制数,也就得到我们现在所看到的IP地址形式,用“.”隔开的四个十进制整数,每个数字取值为0—255。

IP地址分A、B、C、D、E五类,目前大量使用的是A、B、C三类,最高位1……126为A类,128……191是B类,192……223是C类。D类为Internet体系结构委员会IAB专用,E类保留在今后使用。IPv4地址不够分,将被IPv6协议取代,由128位二进制码表示。

域名:是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。

通用顶级域
.biz .com .edu .gov .info .int .mil .name .net .org .pro .xyz
.aero .cat .coop .jobs .museum .travel .mobi .asia .tel .xxx


4.逻辑运算

:and : ∧ 同1出1,有0出0
:or : ∨ 有1出1
异或:xor: ⊕ 相同出1,不同出0
:not : ¬ 0变1,1变0
非 > 与 > 或和异或


5.竞赛类

历史

第一届 NOI :1984年,邓某平:“计算机的普及要从娃娃做起。”
第一届 NOIP :1995年


竞赛环境


NOIP啥时候不能用Pascal了

2019 和 2022 以及 2020 之后。
(2019 是因为这一年没有NOIP)


面向对象程序设计语言

S m a l l t a l k Smalltalk Smalltalk E i f f e l Eiffel Eiffel, C + + C++ C++, J a v a Java Java, P H P PHP PHP C C C#
C C C是面向过程程序设计语言
面向过程程序才是“自顶向下,逐步求精”,而面向对象程序设计并不是,而是基于问题对象的自底向上的设计方法。
就是对象是下到上,过程是上到下


竞赛推荐语言

Visual C++不是竞赛推荐语言
不是的还有 TP7 和 TC 。

Lazarus 是(pascal类),RHIDE 也是(C++类)。


奇奇怪怪的内容【误

最好情况:指运气爆棚,刚好就一路顺畅,运行时间最少的情况
最坏情况:就是非酋,什么东西都运算的到天了(所有循环啥的都做满)
CSP-J/S和NOIP没有关系 (但是都由CCF举办)


6.IPv6与IPv4

IP头部

IPv4:长度为 32 位(4 个字节)
IPv6:长度为 128 位(16 个字节)


文件传输协议

IPv4与IPv6都支持


IPv6标准也可以和使用IPv4标准的主机相互通信(做题的时候看到的这东西)


7.信息编码表示

比特(bit)

指一位二进制数码,bit是计算机中表示信息的最小单位


字节(Byte)

一个字节由八位二进制数表示(1B = 8bit)
字节是存储器系统中的最小存取单位


8.玄学的东西

void dfs(int &p, int *b, int q) 

类似上面的
&p是引用传递(指指针指向的地址?)
*b是指针传递(指指针指向的地址的内容)
q是值传递
这个dalao讲的比较详细,详见 b l o g 链接 blog链接 blog链接

存储结构

数组:具有相同类型的若干变量按有序的形式组织起来,数组可分为数值数组、字符数组、指针数组、结构数组等。
bool 数组占字节数:1
char/unsigned (short) 数组占字节数:2
int/unsigned long/float 数组占字节数:4
(unsigned) long long/double 数组占字节数:8

链表:物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。相比于线性表顺序结构,链表比较方便插入和删除。(不可随机访问任一个元素)

单链表:每个节点只有一个存储直接后继结点地址的链域。

双向链表:既有存储直接后继结点地址的链域,称为右链域。又有存储直接前驱节点地址的链域,称为左链域。

数据结构

散列表:又称哈希表,通过关键码映射到表中一个位置来访问记录,以加快查找的速度。
栈:后进先出,栈顶允许进行插入和删除操作,栈底固定。
队列:先进先出,队头进行删除操作,队尾进行插入操作。(弹出顺序唯一, 即进一个出一个)

排序的时间复杂度

【初赛】初赛提纲¿& 错题集_第3张图片


9.其他

求一个含有n个元素的集合的非空真子集数: 2 n 重复元素的个数 − 2 \frac{2^n}{重复元素的个数} - 2 重复元素的个数2n2
(-2是因为一个是空集,还有就是真子集不能包含全部元素)


求字符串子串个数
一个长度为n的字符串有 1 + ∑ i = 1 n i 1 + \sum_{i = 1}^{n}i 1+i=1ni个子串
有点奇怪,就是
n + ( n − 1 ) + ( n − 2 ) + ( n − 3 )   . . .   + 2 + 1 + 1 n + (n - 1) + (n - 2) + (n - 3)\ ...\ + 2 + 1 + 1 n+(n1)+(n2)+(n3) ... +2+1+1(有个空串)


卡特兰数
其前几项为(从第零项开始) : 1, 1, 2, 5, 14, 42, 132, 429
通项公式: C n 2 n n + 1 \frac{C_{n}^{2n}}{n + 1} n+1Cn2n
应用:求01串个数啦,啥括号序列啦啥的


求一个式子(中缀表达式)的后缀表达式或者是前缀表达式,按照运算顺序从后往前建树即可

因为我隔壁大佬不会什么前缀表达式和逆波兰表达式
所以我决定加亿点点解释

前缀表达式,又称波兰表达式, 其实就是中缀表达式建的树的前序遍历
后缀表达式,又称逆波兰表达式,就是树的后序遍历
如:
【初赛】初赛提纲¿& 错题集_第4张图片
前缀表达式就是:- * 31+94
后缀表达式就是:31 * 94+ -

求值也很简单,还是拿上面例子来讲
前缀表达式就是从右往左扫描,每遇见一个数字就压入栈,每遇见一个运算符,就取两个栈顶去运算
1.遇见’+‘,把4,9代入算得13,代回式子中,变成- ∗ * 3 1 13
2.遇见’ ∗ * ’, 把1 13代入算得13,代回式子中,变成- 3 13
3.遇见’-', 把13, 3代入算得10,最后得到值为10

后缀表达式就是从左往右扫描,每遇见一个运算符就取栈顶的两个数字去运算就好了(和前缀一样,只不过是从左往右扫描)


10.计算机类

计算机能直接执行的指令包括操作码和操作数两部分


ROM和RAM的区别

概念

RAM(random access memory)即随机存储内存,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。ROM(Read-Only Memory)即只读内存,是一种只能读出事先所存数据的固态半导体存储器。

RAM断电会丢失存储内容

对比

手机中的RAM和ROM分别对应电脑的内存和硬盘,内存负责程序的运行以及数据交换,有了它,电脑中的软件才能运行,并有了进程;而硬盘就是一块存储空间,您可以存储各种各样的文件,包括视频、照片、音乐、软件等。


11.算法类

模拟是一种最基本的算法,就是按照题目要求做,广义的模拟包括其他算法


贪心算法类似于“鼠目寸光”,该算法前提是满足“部分最优组成全局最优”(无后效性不知道是不是)


动态规划包括了很多类型的优化,动态转移方程是该算法的核心


12.亿点错题

1.bool型变量占8个二进制位,即一个字节

2.数组可以随机访问某一元素,但是插入,删除某一元素较为麻烦
但链表正好相反

3.程序中输入不能用逗号隔开,得要空格

4.时间复杂度表示时应该省略常数和系数

5.计算机内存条就是主存,内存中的数据断电就会消失

6.给出一个长度为n的顺序表,若是降序排序好了,二分查找其中一个元素,最多需要查找 ⌈ l o g 2 ( n ) ⌉ \left \lceil log_2(n) \right \rceil log2(n)

7.算法可以用自然语言,流程图,伪代码实现

8.Bill Gates开发的是Windows操作系统;IOS系统是手机平板系统,苹果开发的个人计算机操作系统是Mac OS;Linux是开源的,Windows不是开源的

9.在解决一些特点问题时,比如边权为1的最短路径问题,广搜(BFS)的效率并不低

10.位于贮存和CPU之间的存储器,用于提高执行效率 —— 高速缓存

11.NOI是NOIP,APIO,IOI,NOI中历史最悠久的

12.整数补码中,只有负整数的编码最高位为1,整数0只有一个唯一的编码

13.正确指向NOI网站的超链接

	<a href="http://www.noi.cn">欢迎访问NOI网站</a>

14.拓扑排序中入度为0的结点不一定会排在入度大于0的结点的前面(多个连通块

15.浮点数可以表示很大的数是因为使用了阶码,精度高是因为有较长尾数

16.HTTP, TCP/IP,FTP都是网络协议

你可能感兴趣的:(杂文,CSP,初赛)