NOI 笔试 百题大过关 2020

Sweetlemon

2020-08-01 21:53:30

Personal

# 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)