关于我初赛的一些要背的东西 & 错题集

前言

菜鸡作者的话

准备要初赛了,一想起我那菜的说不出话的初赛,我就慌得一批。
于是,我就把一些觉得不会或者因为知识点遗漏错了的东西收集起来,放在一起。
当然,有一些东西参考了一些其他人的文章。

正文

计算器病毒传染的必要条件

  1. 系统运行(这样它才能“动”)
  2. 读写硬盘(这样才可以将自身复制到其他程序)(这个好像是最必要的)

计算机病毒特点

传播性、潜伏性、破坏性与隐蔽性

光驱

电脑用来读写光碟内容的机器(光盘驱动器?)

调试借调期(调节器)

够对数字信号和模拟信号进行相互转换的设备

网关

一个在传输层上以实现网络互连的东西。
广域网和局域网都可以用,大多数运行在OSI 7层协议的顶层–应用层。

Web1.0和Web2.0的区别

Web1.0

主要是靠点击流量来盈利,论坛不算是Web2.0的特征
例子:谷歌,腾讯,新浪,网易,搜狐,MSM

Web2.0

这个东西里面许多东西是由用户贡献出来的,信息是由每个人贡献出来的,每个人都是投稿者。
(虽然贡献的许多内容只是由小部分的人贡献的)
博客,社区这些东西就是十分鲜明的特征。
例子:Flickr,维基,众多博客(就比如csdn)。

计算机指令系统

计算机直接识别和执行的命令就是指令。
一条指令通常由操作码地址码两部分组成。
操作码:这个操作的性质和功能
地址码:被操作的东西在哪里

十进制转二进制小数部分

( 0.25 ) 10 (0.25)_{10} (0.25)10
0.25 × 2 = 0.5 0.25\times 2=0.5 0.25×2=0.5(整数部分为 0 0 0
然后不要整数部分,变成 0.5 0.5 0.5
0.5 × 2 = 1.0 0.5\times 2=1.0 0.5×2=1.0(整数部分为 1 1 1
然后不要整数部分,变成 0.0 0.0 0.0
结束,顺着数,就是 ( 0.01 ) 2 (0.01)_{2} (0.01)2

原码反码补码

(原码反码的+为string::operator+)(就是直接在字符串前面加一个 0 或者 1 )
原码:

  1. x>0:0+x
  2. x<0:1+x

反码:

  1. x>0:x原
  2. x<0:1+(~x)

(补码的+为int::operator+)(就是直接普通加减乘除的加)
补码:

  1. x>0:x原
  2. x<0:x反+1

8位二进制原码、反码、补码

真值 原码(B) 反码(B) 补码(B)
+127 0 111 1111 0 111 1111 0 111 1111
+38 0 010 0110 0 010 0110 0 010 0110
+0 0 000 0000 0 000 0000 0 000 0000
-0 1 000 0000 1 111 1111 0 000 0000
-38 1 010 0110 1 101 1001 1 101 1010
-127 1 111 1111 1 000 0000 1 000 0001
-128 无法表示 无法表示 1 000 0000

对于最后一个的解释:
前两个装不下,因为有九位,第三个可以装下是因为当数是 +/-0 的时候,补码都是 0 000 0000,那就可以用 1 000 0000 来表示。
(所以补码很nb,但是它区分不了+0和-0)
(但我不太知道把 0 分成 +0 和 -0 是干嘛用的)

BCD码(8421码)

用二进制代码表示的十进制数,就是把每一位拆开,每一个数都变成二进制,然后再拼起来。

浮点数

这个完全很懵,看了很久才勉强知道一点。
我看的是这个博客的第八点吧:
点 我 查 看 点我查看
至于怎么转换出浮点数,我说不清楚,理解就行了,就不写了,直接看这位大佬的博客吧。
我就放一点我觉得要背的东西吧:

一个规格化的32位浮点数x的真值为:
x=(-1)s×(1.M)×2^(E-127)
一个规格化的64位浮点数x的真值为:
x=(-1)s×(1.M)×2^(E-1023)

然后有一些特殊的数,这个是 32 位浮点数的表示方法

零值:E=0 & M=0 若sgn>0,+0 若sgn<0,-0 规定:+0=-0
无穷值:E=11111111(2) & M=0 若sgn>0,+∞ 若sgn<0,-∞
NAN:E=0 & M≠0

( sgn 就是看函数的值是正的还是负的)

两个网络协议的配对关系

OSI TCP/IP
应用层 应用层
表示层
会话层
传输层 传输层
网络层 网络层
数据链路层 网络接口
物理层

除此之外还有 Netbeui 和 IP 这两个协议。

网络IP地址

为Internet中的每一台主机分配一个在全球范围唯一地址

四个数字,用 “.” 分开,每个数字范围是 0 ∼ 255 0\sim 255 0255

A类:0.0.0.0 - 127.255.255.255
(标准子网掩码:255.0.0.0 或 /8)
B类:128.0.0.0 - 191.255.255.255
(标准子网掩码:255.255.0.0 或 /16)
C类:192.0.0.0 - 223.255.255.255
(标准子网掩码:255.255.255.0 或 /24)

(/8 这个就是说换成二进制之后左边有 8 个 1,其它也是这个道理)

关于地址信息还有其它定位的划分方式:

  1. A类网络以0开头,网络号码是7位,主机号码是24位(大型网络)
  2. B类网络以10开头,网络号码是14位,主机号码是16位(中型网络)
  3. C类网络以110开头,C类网络的网络号码是21位,主机号码是8位(小型网络)
  4. D类地址以1110开头,E类地址以11110开头。

一个不能在 Linux 上用的浏览器

微软和LINUX死对头(好像是),所以不能用 IE(Internet Explore)

逻辑运算

与:and : ∧ ∧ 或者 ⋅ ·
或:or : ∨ ∨ 或者 + + +
异或:xor: ⊕ ⊕
非:not : ¬ ¬ ¬
> > > > > > 或和异或

集合运算

并:∪
交:∩
补: ^ 或 ∼ \sim 或着这样表示:
在这里插入图片描述
差: -

有重复元素的排列组合问题

  1. 排列: m m m 种不同元素,每种有 n i n_i ni 个,答案就是这个:
    ( n 1 + n 2 + . . . + n m ) ! n 1 ! ∗ n 2 ! ∗ . . . ∗ n m ! \frac{(n_1+n_2+...+n_m)!}{n_1!*n_2!*...*n_m!} n1!n2!...nm!(n1+n2+...+nm)!
  2. 组合: n n n 种不同元素选 m m m 个,允许有重复元素,答案是这个:
    C n + m − 1 m C^{m}_{n+m-1} Cn+m1m

错排问题

递推,式子是 f ( n ) = ( n − 1 ) ∗ ( f ( n − 1 ) + f ( n − 2 ) ) f(n)=(n-1)*(f(n-1)+f(n-2)) f(n)=(n1)(f(n1)+f(n2))
初始化为 f ( 1 ) = 0 , f ( 2 ) = 1 f(1)=0,f(2)=1 f(1)=0,f(2)=1
就是第 n n n 个数和其他错排完的 n − 1 n-1 n1 任意一个交换,或者第 n n n 个数先和任意一个其他的数交换,剩下的再错排。

有一个奇妙的计算公式,我不知道是怎么弄出来的:
在这里插入图片描述

竞赛环境

点 我 查 看 点我查看

竞赛推荐语言

Visual C++不是竞赛推荐语言

NOI与NOIP的历史

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

猜你喜欢

转载自blog.csdn.net/weixin_43346722/article/details/108542507