NOI 笔试 百题大过关 2020
Sweetlemon
2020-08-01 21:53:30
# NOI 笔试 百题大过关 2020
## 文章简介
这篇文章主要包含 NOI 笔试题库的一些解释和延伸,也会包含一些口诀、闲话来辅助记忆。由于笔者水平有限,所以文章中可能存在不少问题,敬请指正。
文章中首先包含了笔试题库 2020 版相比 2019 版的一些变化,方便已经学习过 2019 版笔试题库的选手复习;接下来是 2020 版全部题目的解释。
## 题库变化
*对比版本:NOI 2019 笔试题库*
概述:2020 版笔试题库相比 2019 版,在一些问题的表述上有了改进;且由于 2020 年起 NOI 不再支持 C 和 Pascal,笔试题库中关于 C 和 Pascal 的内容已经在 2020 年 8 月 2 日更新后被全部删除。总的来说,题目和答案没有大的改动。
**粗体**:增加内容
~~删除线~~:删除内容
### 竞赛环境和竞赛规则
~~Linux 系统中编译 C 程序的编译器是:gcc~~
~~Linux 系统中编译 Pascal 程序的编译器是:fpc~~
18 . 使用 ~~gcc~~ **g++** 编译 ~~C~~ **C++** 程序时,生成调试信息的命令行选项是:`-g`
19 . 使用 ~~gcc~~ **g++** 编译 ~~C~~ **C++** 程序时,生成所有警告信息的命令行选项是:`-Wall`
20 . 使用 ~~gcc~~ **g++** 编译 ~~C~~ **C++** 程序时,只编译生成目标文件的命令行选项是:`-c`
21 . 使用 ~~gcc~~ **g++** 编译 ~~C~~ **C++** 程序时,指定输出文件名的命令行选项是:`-o`
22 . 如果 ~~C~~ **C++** 程序中使用了 math.h 中的函数,在**用 g++** 编译时需要加入选项:`-lm`
29 . **在终端中**运行自己的程序,如果进入死循环,应当如何终止:`Ctrl-C`
32 . 使用 ~~Reset 键~~ **主机“重启”键**强行重新启动计算机,可能会对系统造成的后果是:文件系统损坏
34 . 当前目录中有如下文件:
```text
-rw-r--r-- 1 user None 8.7K Jul 2 16:35 foobar
-rw-r--r-- 1 user None 93 Jul 2 16:35 foobar.c++
-rwx------ 1 user None 144 Jul 2 16:35 foobar.sh
```
其中,可以执行的文件是:`foobar.sh`
(注:原 `foobar.c` 改为 `foobar.c++`)
41 . 为 ~~程序~~ **源代码文件** ~~my.c~~ my.cpp 创建一个备份 ~~myc.bak~~ mycpp.bak 时,使用的命令是:~~`cp my.c myc.bak`~~ `cp my.cpp mycpp.bak`
~~Pascal 中 integer 和 long integer 类型的长度和编译选项是否有关系:有关系~~
47 . NOI 考试对 C++ 语言 ~~模板~~ **标准模板库**的使用有限制吗?没有
48 . NOI 考试对 ~~PASCAL~~ **C++** 语言的使用有限制吗?有
~~在NOI考试中,Pascal 源文件的扩展名规定为:pas~~
~~在NOI考试中,C源文件的扩展名规定为:c~~
78 . 选手可以不使用**集成开发环境**(IDE)编辑程序源代码吗?可以
81 . 在 NOI 上机考试中,允许选手使用的编程语言包括:~~C、C++、Pascal~~ **C++**
86 . 没有**自行**复测结果**(包括结果正确性、所用时间、所用空间等)**支持的申诉是否会被受理:否
### 计算机常识和 NOI、IOI 历史
23 . 将十六进制数~~(AB)~~ **0xAB** 表示成二进制数是:10101011
~~NOI 比赛中提供的 Pascal IDE 环境除了 GUIDE 之外,还有 Lazarus。~~
27 . 在 NOI 比赛中,~~提供的编程工具~~ **编辑源代码**除了可以用 GUIDE、Lazarus、Anjuta 等**集成开发环境** (IDE)之外,还可以使用:~~Vi、Gedit~~ **vi、gedit**
## 题目全解
### 竞赛环境和竞赛规则
1. NOI 机试使用的操作系统是:Linux
我们都知道,NOI Linux 实际上是 Ubuntu 14.04 的修(yan)改(ge)版。
2. Linux 中为文件改名使用的命令是:`mv <旧文件名> <新文件名>`
把旧的移到新的,move ... (to) ...
3. 在 Linux 中返回上一级目录使用的命令是: `cd ..`
一个点是当前目录,两个点是上一级目录
4. 在 Linux 中删除当前目录下的 `test` 目录的命令是: `rm -r test`
还记得 `rm -rf /`吗?其中 `-r` 是删除目录及其文件,`-f` 是强制执行。
5. 当前目录下有一个编译好的可执行文件 `a.out`, 执行它使用的命令是: `./a.out`
`.` 是当前目录。如果不指定 `./`,Linux 会在默认搜索目录下搜索,则找不到当前目录下的程序。
6. 使用高级语言编写的程序称之为: 源程序
WC 2019 有个集体舞叫“源代码”
7. 在 NOI Linux 系统中可以用来调试程序的程序是:gdb
这句话有一点绕,不过问题不大;[这里](https://blog.csdn.net/zdy0_2004/article/details/80102076)是一篇 gdb 的教程。
8. 在 Linux 系统中, 文件夹中的文件可以与该文件夹同名吗: 可以
显然可以,Windows 下也可以
9. Linux 系统中杀死名为 `test` 的后台进程的命令是: `killall test`
注意,`kill` 命令是在已知 `pid `的情况下才能使用的,只知道进程名字的时候要用 `killall`。
10. Linux 系统中可以查看隐藏文件的命令是: `ls -a`
`ls` 命令在 Linux 下可以查看文件信息(通常是打印当前目录下文件的信息)。`-a` 选项可以把隐藏文件的信息也打印出来,可以理解为`list all`。
13. Linux 系统中编译 C++ 程序的编译器是:g++
这道题一定看清问的是“编译器”还是“扩展名”!
14. Linux 系统中, 将当前目录下的文件名打印到 `tmp` 文件中的命令是: `ls >tmp`
使用输出重定向,`>` 形象地把输出导到右边的文件。
15. Linux 系统中, 测量当前目录下程序 `test` 运行时间的命令是: `time ./test`
非常常用的命令,可以用来测量自己程序的运行时间。
16. vim 编辑器中, 强制退出不保存修改应当输入: `:q!`
注意冒号是 vim 命令的一部分。单纯输入 `:q` 会提示“已修改但未保存,可加 ! 强制执行”
17. vim 编辑器中, 强制退出并保存修改可输入以下三种命令之一: `:wq`、 `ZZ`、 `:x`
这三个指令可以稍微记忆一下。`:wq` 是先 `:w`(write)再 `:q`(quit),`ZZ` 是快捷键不用冒号(注意要大写),`:x` 可以认为是 `wq` 的缩写。或者随便用一个首字母缩写记忆一下,比如“为群主照相”(逃
还有一个笑话,和一个惯用 vim 的同事 QQ 聊天,对面说先去赶个代码,然后突然发过来一个 `:wq`。
18. vim 编辑器中, 定位到文件中第 12 行应当输入: `:12`
19. vim 编辑器中, 在文件中查找字符串“12” 应当输入: `/12`
这两个要加以区分,冒号是定位到行数,斜杠是查找。可以联想到 Javascript 中的正则表达式是用斜杠括起的。
20. 使用 g++ 编译 C++ 程序时, 生成调试信息的命令行选项是: `-g`
可以联想“gdb”是调试器,“gdb”的第一个字母是“g”。
21. 使用 g++ 编译 C++ 程序时, 生成所有警告信息的命令行选项是: `-Wall`
Warning All。注意大小写,例如小写的 `-w` 是关闭所有警告。
22. 使用 g++ 编译 C++ 程序时, 只编译生成目标文件的命令行选项是: `-c`
“目标文件”是可执行文件的前体,是链接器(ld)处理的对象。
源代码转化为可执行文件有两个过程——编译和链接,分别需要的“酶”是编译器和链接器,“前体”分别是源代码和目标文件,“产物”分别是目标文件和可执行文件。因此 `-c` 可以理解为“只编译(Compile),不链接”。此外,只预处理、不编译的选项是 `-E`。
23. 使用 g++ 编译 C++ 程序时, 指定输出文件名的命令行选项是: `-o`
联想“output”。
24. 如果 C++ 程序中使用了 `math.h` 中的函数, 在用 gcc 编译时需要加入选项: `-lm`
这个选项是交给链接器的,让链接器“Link Math”。
25. Linux 系统中具有最高权限的用户是: root
root 用户拥有“根”本权限。
26. 在 Linux 的各个虚拟控制台间切换的快捷键是: `Ctrl+Alt+Fn`
注意这道题答案指的是 `Ctrl+Alt+F1`, `Ctrl+Alt+F2`, ... , `Ctrl+Alt+F6` 这 6 个快捷键。
Linux 有 6 个虚拟控制台,打开后就进入了漆黑的世界(雾)。要知道怎么回来?请听下题分解。
27. 在 NOI Linux 中, 从字符控制台切换回桌面环境使用的快捷键是:`Ctrl+Alt+F7`
可以理解为 6 个虚拟控制台分别编号为 1, 2, 3, 4, 5, 6,那么桌面环境就编号为 7 。
另外,这道题一定记清楚了,如果考试时不慎进入了虚拟控制台,难道还要求助监考老师切回来么(大雾)。
28. 在 NOI Linux 中默认使用的 Shell 是:bash
全称为“Bourne Again SHell”。可以去了解一下历史。
当然,bash 这个单词的意思是:bash v. 猛击; 猛撞; 严厉批评; n. 猛击; 重击; 盛大的聚会; 盛典。
29. 在 Linux 中查看当前系统中的进程使用的命令是:`ps`
30. 在 Linux 中查看进程的 CPU 利用率使用的命令是:`ps`
`ps` 命令可以打印很多关于进程的信息,ps 是 Process Status 的缩写。
31. 在终端中运行自己的程序,如果进入死循环, 应当如何终止: `Ctrl-C`
用多了就习惯了,在终端里 `Ctrl-C` **不是复制**!
32. 可执行文件 `a.out` 从标准输入读取数据。 现有一组输入数据保存在 `1.in` 中, 使用这个测试数据文件测试自己的程序的命令是: `./a.out <1.in`
33. 可执行文件 `prog_1` 输出运行结果到标准输出。则将输出结果保存到文件 `1.out` 中使用的命令是: `./prog_1 >1.out`
看清楚是“输入”还是“输出”!这两题都是输入输出重定向的例子,`<` 和 `>` 可以形象记忆。
34. 使用主机“重启”键强行重新启动计算机可能会对系统造成的后果是:文件系统损坏
当前可能正在写文件,直接重启可能造成文件系统损坏。另外可能大家会有强拔 U 盘造成 U 盘文件损坏的经验……
35. 在 Linux 系统中, 用于查看文件的大小的命令是: `ls -l`
选项 `-l` 可以联想 long(这样打印出来的信息较长)或 large(包含文件“大”小)。
36. 当前目录中有如下文件
```
-rw-r--r-- 1 user None 8.7K Jul 2 16:35 foobar
-rw-r--r-- 1 user None 93 Jul 2 16:35 foobar.c++
-rwx------ 1 user None 144 Jul 2 16:35 foobar.sh
```
其中, 可以执行的文件是: `foobar.sh`
此题关键**不是看扩展名**,而是看上面列出的“rwx”这一串,带有“x”的就是可执行文件。联系 `chmod +x foobar.sh`。关于文件权限,可以阅读[这篇资料](https://www.cnblogs.com/sxdcgaq8080/p/7498906.html)。
35. 评测系统中对程序源文件大小的限制是:小于 100KB
注意这是对“程序源文件”的限制。关于提交答案题的答案文件,可以参考 [NOI 竞赛规则](http://www.noi.cn/newsview.html?id=68&hash=CDD941&type=6)(“选手提交的程序源文件必须不大于100KB。答案提交类题目的答案文件不得超过题目规定的大小;题目未规定大小的必须不大于100KB。”)。另外,是“小于”100KB(源自笔试题库)还是“不超过”100KB(源自 NOI 竞赛规则)是有争议的。
36. 如无另行说明, 评测系统中对程序使用内存的限制是: 以硬件资源为限
每年题目摘要的内存限制都属于“另行说明”~
37. Linux 下的换行字符为:`\n`
这就是所谓的“LF”(Line Feed)了。另外,实际上 `\r`(CR, Carriage Return)是回车,两者的名字不同。理解这两者需要用到打字机,CR 是让打字机头移到行开始,LF 是让打字机把纸往上移(相当于打字机头往下移)。
40. 终止一个失去响应的进程(![pid](https://cdn.luogu.com.cn/upload/image_hosting/qw8rbjsw.png) 代表进程号) 的命令是:![kill pid](https://cdn.luogu.com.cn/upload/image_hosting/6c2pqf5m.png)
说到“pid”,就是 `kill` 命令了;如果是进程名,就是 `killall`。
总结一下有关进程的命令。需要打印信息,就用 `ps`;需要终止进程,就用 `kill`(涉及 pid)或 `killall`(涉及进程名)。
41. Linux 中是否区分文件和目录名称的大小写: 是
这点和 Windows 不一样,Windows 不区分文件和目录名的大小写。另外这就是提交代码时一定要用英文小写做文件和目录名的原因。
42. 选手在 NOI 机试过程中是否禁止使用网络:是
看清题目,问的是“是否**禁止**”
43. 为源代码文件 `my.cpp` 创建一个备份 `mycpp.bak` 时, 使用的命令是: `cp my.cpp mycpp.bak`
cp 是 copy,mv 是 move,都是旧的在前、新的在后。
44. 调试程序的方法有: **单**步调试、使用 `print` 类语句**打**印中间结果、阅**读**源代码
OI 是“单打独(读)斗”。另外,阅读源代码真的是很好的调试方法,找不出问题的时候可以静下心读一读。
45. 在考试过程中,如果出现系统死机或崩溃现象,选手应当采取的措施是:举手示意监考人员处理
千万不能自己处理,自己处理的后果得自己承担。
46. 提交的答案程序中如果包含 NOI 考试明确禁止使用的代码, 后果是: 本题成绩以 0 分计算
注意只影响**本题**成绩哦,并不会取消所有成绩。
47. 对评测结果有疑义, 需要申请复评, 则: 提出书面**申请**, 并经**领**队、科学委员会**主**席**签字**确认后, **提交**至评测人员
口诀“申请领主,签字提交”。
48. 复评成绩较原始成绩有变化, 则: 以复评成绩为准
肯定以新的为准啊,要不然为什么要复评(大雾)。
50. NOI 考试对 C++ 语言标准模板库的使用有限制吗?没有
51. NOI 考试对 C++ 语言的使用有限制吗? 有
STL 当然是随便用,但是内嵌汇编、下划线开头的库函数或宏就不能用了……参考[这条老规定](http://www.noi.cn/newsview.html?id=229&hash=878FD2&type=6)。
52. 名为 `FILE` 的文件和名为 `File` 的文件在 Linux 系统中被认为是: 不同的文件
53. 目录 `DIRECT` 和目录 `Direct` 在 Linux 系统中被认为是: 不同的目录
上面提到过,文件名和目录名均区分大小写。
54. 在 NOI 正式考试中如何登录自己的比赛用机: 使用考前工作人员下发的账户及密码
会发密码条(以前在笔试题库中明确指出,丢密码条要扣 5 分;现在这个内容被删掉了,但日程表里还是写着“丢失密码条扣分”)。
55. 如果考试分多日进行, 那么选手的考试账户和口令: 由工作人员在每场考试开始前下发
NOIP 或 CSP 的密码条应该也是每日不同的(如果一张密码条用两场,不就更容易丢失密码条了吗)。
56. 考试结束后, 应如何处理密码条: 保存好密码条,用于复测。
复测的时候要用密码条上的密码登录系统,查看测评结果。
57. 选手答案文件保存的目录是:选手目录下和考题名称符合的目录
不同于 NOIP,这个目录似乎是不需要自己建的,在开考时这个目录下就有样例文件,最后只要把程序放进去就可以了。
按照去年的经验,在“选手目录”(用户的“家目录”,终端下的 `~` 目录)下就有三个“和考题名称符合的目录”。
58. 选手答案的文件名要求是:和试卷的题目摘要中所示文件名一致
注意是按照“试题摘要”,也就是试题的第一页。
59. 选手答案的文件名大小写错误,成绩会怎样:0 分
到了 NOI 阶段,希望不要有选手犯这个错误了。
60. 选手提交的源代码文件名是否有特殊要求:源程序文件名由试题名称缩写加后缀构成,试题名称缩写及后缀一律使用小写
记得是小写哒!三年 OI 一场空,名字打错见祖宗。
63. 在 NOI 考试中,C++ 源文件的扩展名规定为:`cpp`
还是那句话,看清题目问的是扩展名还是编译器。
64. 发现鼠标或其他硬件设备有问题,选手可以:请工作人员更换
毕竟我也不能带自己的进来嘛。
65. 对试题理解有问题,选手可以:举手求助
这一点比较友好,在很多考试中考生是不能向监考员询问与试题内容有关的问题的。
66. 考试结束后选手需要: 迅速离开
考试结束后,选手需要去吃饭。
67. 复评结束后是否还能提交复评申请:不能
我今年申请复评去年的程序,如何?
68. 测试点时间限制的含义是指: 题目允许程序运行所占用的用户时间总和的上限值。
注意是“用户时间”。实际上,在使用 time 命令时会得到 real, sys, user 三个时间,其中 user 指的就是用户时间。关于这三个时间的更多资料,可以阅读 [这篇文章](https://www.iteye.com/blog/codingstandards-798788)。
69. 什么情况下选手可以申请延长考试时间:机器出现故障,并由工作人员确认和记录
一定要工作人员参与才行哦,自己记录并没人相信。
70. 考试中选手自行重新启动机器,能否获得加时?不能
所以就不要自作主张啦(bushi
71. 草稿纸用完了,如何处理:举手向监考人员求助
72. 水喝完了,如何处理:举手向监考人员再要一瓶
yysy,监考人员真的很累,要处理如上这么多事情。
73. 考试太简单, 能提前离开吗? 能
这题要记住!虽然和我们平常的考试经验不太一样就是了,平常的月考一类为了方便管理似乎常常不让提前离场。
74. 离开考场后,发现还有个问题没改,能回去再改吗? 不能
你不是说考试太简单吗,为什么还要回去改啊(半恼)
75. 考试中机器突然没响应了,如何处理?举手向监考人员求助
76. 考试中发现登录名和密码的单子丢了,如何处理?向工作人员求助
77. 复评的时候忘记登录名和密码了,如何处理?向工作人员求助
有困难,找工作人员!
78. 在监考人员宣布 NOI 机试开始之前, 是否允许选手登录系统和翻阅试卷? 否
NOI 是不能提前登录系统的!桌上的纸质试题也不能动。
79. 在 NOI 上机考试中,是否允许选手私自重新启动计算机?否
私自重启?要是电脑有还原,你就完了。
80. 在 NOI 系列考试中,如果由于文件名不正确导致被判 0 分,提出复评请求,会被接受吗?不会
81. 在 NOI 系列考试中,如果由于文件目录名不正确导致被判 0 分,提出复评请求,会被接受吗?不会
82. NOI 系列考试中,如果由于文件保存路径不正确导致被判 0 分,提出复评请求,会被接受吗?不会
写错文件名肯定会见祖宗啊,还怎么申诉。
83. 选手可以**不**使用集成开发环境(IDE)编辑程序源代码吗? 可以
显然是可以的,比如使用 vim 或 Emacs。仍然是**注意审题**,问的是是否可以“不”使用(虽然这个地方看错影响不大)。
84. 选手回答填空题, 提交的答案中可以包含引号吗? 不可以
请问你月考、段考、期考、学考~~、高考~~写填空题什么时候带过引号?
85. 选手程序在某测试点上的运行时间仅比时限多 0.005 秒,算不算超时? 算
卡常力度不够大,悲。
86. 在 NOI 上机考试中,允许选手使用的编程语言包括:C++
从 2020 年开始,NOI 不支持 C 和 Pascal 啦,所以这题只有 C++。
87. NOI 比赛的题目类型有: 非交互式程序题、交互式程序题、答案提交题
“非交互式程序题”不是“传统题”,“答案提交题”不是“提交答案题”,另外所谓的“通信题”也许不会出现,也许被归入了“交互式程序题”当中。(虽然这么出选项应该太毒瘤了)
88. 选手比赛中提交的有效文件类型有:答案文件、源程序。
分别对应“答案提交题”和程序题。
89. 选手**提交的程序**不得进行的操作包括: 试图访问**网**络、 使用 fork 或其它**线**程/进程生成函数、 打**开**或创建题目规定的输入/输出文件之外的其它文件、 运行**其它**程序。
“网线开其它”。注意这里的限制是针对选手提交上去的程序的,而不是针对选手的,也就是选手当然可以运行其他程序或打开其他文件。
90. 以修改过的程序或答案为依据的申诉是否会被受理:否
求求你,我这个数组开小了,就让我改一下行么/kel
91. 没有自行复测结果(包括结果正确性、所用时间、所用空间等)支持的申诉是否会被受理:否
今年的笔试题库明确了什么叫“有复测结果支持”,简单地说大概是要对工作人员说,“你看,在我的电脑上跑得没问题啊”,这就是“自行复测结果支持”;而不能直接空口无凭地说“啊,我要重测!”。
92. 超过申诉时间的申诉是否会被受理:否
Day 2 考完后申诉 Day 1……
93. 对评测结果中的超时有异议,且复测结果的运行时间与题目时间限制之差小于题目时间限制 5% 的申诉是否会被受理:否。
和上面那个超时 0.005 秒的一样惨啊。
94. 遇到下列哪些情况可以向工作人员申请加时补偿:计算机硬件故障,操作系统死机。
软硬件故障都有机会加时。
95. 考试时若遇到计算机硬件故障或操作系统死机,应如何处理?举手向工作人员求助
这个问题已经强调了很多遍了,也许之前有选手自行处理,结果处理出了问题,所以现在大力强调。
96. 选手进入考场可以携带的物品是:笔、手表。
注意,手表是可以带的(虽然高考不可以)。
97. 选手进入考场不可以携带的物品是:纸、U 盘、手机。
存储介质都不能带。
98. 竞赛组织者将在竞赛场地为选手提供的物品是:草稿纸、饮用水、食品。
草稿纸用完了或水喝完了还可以向监考员再要,但食品好像不行(哭)。不过去年发的食品还挺多的,也许考场上吃不完。
### 计算机常识和 NOI、IOI 历史
94. 一个完整的计算机系统应包括:硬件系统和软件系统。
只要提“软硬件”就完整了。回忆上面的第 89 题,考试时遇到软硬件故障都有机会加时。
95. 目前微型计算机中采用的逻辑组件是:大规模和超大规模集成电路。
这是计算机发展第四阶段的特征。
96. 软件与程序的区别是:软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。
听说过软件工程吧?那么听说过程序工程么?所以程序是软件的一部分(bushi
102. IT 表示:信息技术。
Information Technology
103. 计算机中央处理器简称为 CPU。
Central Processing Unit
104. 计算机内存储器的作用是:用来存放当前 CPU 正在使用的程序和数据。
注意是“程序和数据”;冯·诺依曼结构中,程序和数据存储在同一个存储器中。
104. 用来全面管理计算机硬件和软件资源的软件叫:操作系统。
105. LAN 是指:局域网。
Local Area Network
106. 在微机中,bit 的中文含义是:二进制位。
89. 计算机所能辨认的最小信息单位是:位。
不是“字节”哒,毕竟有“位运算”可以直接操纵位嘛。
90. ASCII 的含义是:美国信息交换标准代码。
American Standard Code for Information Interchange
91. 在计算机术语中经常用 RAM 表示:随机存取存储器。
Random Access Memory;另外 ROM 是只读存储器,Read-Only Memory。
92. RAM 存储器在断电后, 其中的数据 **会** 变化。
93. ROM 存储器在断电后, 其中的数据 **不会** 变化。
如上,要分清 RAM (Random Access Memory) 和 ROM (Read-Only Memory) 呢,只读存储器因为是只读的,理解为 `const`,就不会变化。
94. 现代计算机所应用的存储程序原理是 **冯·诺依曼** 提出的。
“冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。”(摘抄自某度百科,这句话同时解释了第 85 题)
95. 计算机内所有的信息都是以**二进制数码**形式表示的。
96. 计算机直接识别和执行的语言是:机器语言。
不是“汇编语言”,汇编语言相当于机器语言的助记符。
97. Linux 是一个**开源**的操作系统,意思是源码可以免费获得。
Linux 是 GPL 协议开源的,关于开源协议可以读一些类似[这样](https://www.oschina.net/question/54100_9455)的文章。
98. NOI 的中文意思是全国信息学奥林匹克竞赛。
“全国信息学奥林匹克禁赛”(竞赛警告)
另外从 2019 年开始,原来的“全国青少年信息学奥林匹克竞赛”中的“青少年”三个字被删除了。
99. 字长为 32 bit 的计算机,表示它能作为一个整体进行传送的数据长度可为 **4** 个字节。
32 bit 就是 4 Byte。
100. 一个字节由相邻的 **8** 个二进制位组成。
分析 bitset 的空间占用的时候应该用过吧。
101. 二进制数“10”化为十进制数是 **2** 。
这是最简单的进制转换例子了。
102. 将十六进制数 0xAB 表示成二进制数是 **10101011**。
这段其实可以直接背,不过 0xA 相当于十进制的 10,0xB 相当于十进制的 11,把 10 和 11 分别转换为二进制也可以。
103. Linux 中查看当前路径使用的命令是:`pwd`
“Print Working Directory”,打印工作目录。
104. 在 Linux 下建立目录使用的命令是:`mkdir`
“MaKe DIRectory”。
106. NOI 比赛中提供的 C++ IDE 环境除了 GUIDE 之外, 还有 **Anjuta**。
虽然这两个似乎没人用?我 NOIP 2016 的时候用 Anjuta,结果居然闪退好多次,而且所做的更改会丢失(可怕)。
125. NOI 比赛中,编辑源代码除了可以用 GUIDE、Lazarus、Anjuta 等集成开发环境(IDE)之外,还可以使用 **vi、gedit**。
很奇怪这里为什么没有 Emacs?
126. NOI 比赛每场上机考试的比赛时间是 **5** 小时。
IOI 也是 5 小时,ACM 赛制也是 5 小时。
127. 首届 NOI 是 **1984** 年举办的。
1984 年“计算机普及要从娃娃抓起”被提出,当年就有了 NOI。
128. 今年是第几届 NOI? 第 37 届。
$2020-1984+1=37$。
129. 今年是第几届 IOI?第 32 届。
$2020-1989+1=32$。
130. 第 12 届 IOI 是 2000 年在 **北京** 举办的。
$2000-1989+1=12$。
## 关于练习
NOI 时,笔试是在试机阶段完成的,为机上测试,测试时会进入到在线答题系统中(和 NOI Online 的系统差不多)。至于在测试时能否在机上做实验,嗯,似乎没有明令禁止(bushi
根据说明,笔试一般为 45 道单选题和 5 道多选题,选项一般也不会特别刁钻,因此很多时候答案不需要完全背诵下来,只要熟悉一般就能选对。
评测鸭有一个 [背笔试](https://duck.ac/beibishi) 可以在线练习。
LOJ 有两套 NOI 笔试的模拟题,分别是 [「LibreOJ NOI Round #1」笔试](https://loj.ac/problem/513) 和 [「LibreOJ NOI Round #2」笔试](https://loj.ac/problem/579)。
需要注意,这两个练习地址用的可能是旧题库,其中有些题目在 2020 年题库中已经删除,练习时请注意。
ouuan 提供了一个新的 [背笔试程序](https://github.com/ouuan/Despised/),已校对 2020 年新版题库,可作为练习。
另外,UOJ 的 UOJ NOI Round 中有最新命制的 [笔试测试](http://uoj.ac/contest/54),不过题目稍难,也可以作为模拟练习。
## 祝愿
祝各位 NOI 选手在 NOI 中考试顺利,发挥出应有的水平;也祝还没能参加 NOI 的选手早日进入省队!
## 参考资料
[CCF NOI 2020 笔试题库](http://www.noi.cn/newsview.html?id=1315&hash=186587&type=1)
[CCF NOI 2019 笔试题库](http://www.noi.cn/newsview.html?id=910&hash=5F3EBA&type=1)