广东省 NOI 省队选拔

技术规则与环境说明(正式版)

  • 版本:V1.0
  • 发布日期:2026-01-30
  • 适用对象:参赛选手、指导教师与考点工作人员

⚠️ 重要提示:最终成绩以统一评测结果为准。建议选手使用 NOI Linux 2.0 环境完成编译与自测。

1. 概述

本文档用于说明广东省 NOI 省队选拔的上机(考点)环境配置、统一评测环境参数、编译一致性要求,以及成绩反馈与申诉原则。
为避免歧义,本文将 “考点上机环境”“统一评测环境” 分开描述,并给出选手与考点可执行的自检与风险控制建议。


2. 术语与原则

  • 考点上机环境:选手在考场实际编写、调试与保存代码所使用的操作系统与软件环境。
  • 统一评测环境:统一编译与运行选手源程序的评测服务器环境,成绩以此为准
  • 一致性优先:选手应以统一评测环境为目标进行开发与自测,减少“本地通过、评测失败”的风险。

3. 统一评测环境

本次选拔的统一评测由 NOI 省选广东省组织单位统一安排,评测端环境如下:

项目 配置
CPU Intel(R) Xeon(R) Platinum 8372C CPU @ 3.20GHz
内存 128 GiB
操作系统 Ubuntu 20.04 LTS
编译器 gcc/g++ 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
评测软件 CMS 1.5.0
目标环境说明 以最新版本 NOI Linux 2.0 标准环境为基准(Ubuntu 20.04 系、GCC 9.3)

🔗 参考链接:NOI Linux 2.0 官方说明页面


4. 考点上机环境

结合本省实际情况,本次上机提供 WindowsNOI Linux 2.0(虚拟机) 两种环境。考生需自行选择其一,并将代码完整存放在所选系统中。

4.1 NOI Linux 2.0(推荐)

  • 由 NOI 官网统一发布;
  • 考点以 “Windows + NOI Linux 2.0 虚拟机(VMware Workstation)” 方式提供;
  • 强烈建议 使用该环境进行编程、编译与最终自测,以贴近统一评测环境。

🔗 官方参考:NOI Linux 2.0 系统发布说明

4.2 Windows 环境

  • 操作系统:Windows 10 v10.0.19042
  • 编程环境:Dev-Cpp 5.9.1
  • 虚拟机软件:VMware Workstation(用于运行 NOI Linux 2.0 虚拟机)
  • PDF 阅读器:Adobe Reader 等
  • 编辑器:gvim、Notepad++、Sublime Text 等

⚠️ 重要:如选手选择 Windows 环境完成比赛,应自行承担因环境与统一评测环境不一致导致的编译或运行差异风险,并放弃因此类差异提出申诉的权利
注:以上软件版本可能调整,请以考点现场版本为准。

4.3 环境选择、诚信考试与知情同意

  • 考生需签署《NOI 统一省选诚信考试及知情同意书》;
  • 考生已知晓 Windows 与 NOI Linux 2.0 的差异,并自行选择系统完成比赛
  • 考生知晓:最终评测在 NOI Linux 环境下完成,若产生编译问题,由考生自行负责。

5. 编译与运行一致性要求

为降低环境差异带来的风险,建议选手遵循以下原则,并在提交前完成自检。

5.1 统一评测目标:NOI Linux 2.0 + GCC 9.3

  • 建议将 NOI Linux 2.0 作为“最终自测”环境;
  • 提交前至少在 NOI Linux 2.0 中完成一次 从零编译与运行

5.2 本地自测的推荐编译命令

# C++
g++ -std=c++14 -O2 -static exam.cpp -o exam

📌 示例仅作参考,最终以题目要求的编译参数为准。

5.3 文件与编码建议

  • 源文件建议使用 UTF-8 编码
  • 避免不可见字符或异常空白符;
  • 避免依赖 Windows 特有的换行处理(CRLF);建议统一在 Linux 下最终编译;
  • Linux 区分大小写

5.4 常见“环境差异”风险点(重点检查)

  • 未定义行为(UB):数组越界、未初始化变量、溢出依赖、非法指针等;
  • 递归深度与栈空间:递归易栈溢出,必要时改用迭代或手动栈;
  • 随机数与时间函数:不要依赖 rand() 的具体序列或时间精度;
  • 浮点误差:不同硬件/优化可能造成微小差异,应按题面误差要求编写;
  • 输入输出性能:大数据量建议使用快速 IO。

6. 推荐工作流与自测清单

6.1 选手赛前准备(建议提前 3–7 天完成)

  • [ ] 在个人电脑安装 VMware Workstation,并成功导入/启动 NOI Linux 2.0 虚拟机;
  • [ ] 在 NOI Linux 2.0 中确认可正常使用编辑器与编译器(g++);
  • [ ] 完成一次完整演练:编译、运行与输出比对;
  • [ ] 熟悉文件保存路径。

6.2 入场后与开考前检查

  • [ ] 确认当前使用的系统环境(Windows 或 NOI Linux 2.0);
  • [ ] 在选定环境中新建工作目录,并创建空源文件进行保存测试;
  • [ ] 在 NOI Linux 2.0 中执行一次编译测试;
  • [ ] 检查键盘布局与输入法切换。

6.3 提交前自检

检查项 目标 记录
编译 在 NOI Linux 2.0 下从零编译通过,无报错/无关键警告 □ 已完成
样例 样例输入输出一致(含换行、空格)
边界 检查极小/极大规模、极端值、空输出等边界
性能 大数据量下 IO 与算法复杂度满足时限要求
提交文件 确认提交的是最终版本源文件;文件名与语言选择正确

💡 若使用 Windows 编写代码,务必在 NOI Linux 2.0 中完成最终编译与运行自测

7. Windows 与 NOI Linux 差异提示(选择 Windows 的选手必读)

差异点 Windows 侧常见表现 NOI Linux 2.0 / 评测端表现
换行与文本处理 CRLF (\r\n) LF (\n)
路径与文件名 大小写不敏感,分隔符为 \ 区分大小写,分隔符为 /
编译器与标准库 TDM-GCC,版本/选项可能不同 GCC/G++ 9.3(Ubuntu 20.04)
系统调用 部分调用可用 不可用或行为不同;应避免
浮点与优化差异 可能产生微差 以评测端为准;注意误差与边界比较

⚠️ 申诉说明:NOI 省队选拔广东省组织单位不受理因比赛环境与评测环境不同而产生问题所提出的申诉;选择 Windows 环境所导致的风险由选手自行承担。

8. 统一评测、成绩反馈与申诉原则

  • 所有源程序由广东省组织单位统一安排评测,环境为 NOI Linux 2.0
  • 最终成绩以统一评测结果为准
  • 不受理因环境差异导致的问题申诉;
  • 因所选上机环境与评测环境不同而导致的编译/运行差异,责任由选手自行承担

9. 诚信与信息安全要求(考点与选手)

  • 严格执行诚信考试要求;
  • 考点应组织签署《知情同意书》;
  • 选手应遵守竞赛纪律,独立完成比赛。

行为规范:

  • ❌ 不得使用任何未被允许的通讯工具或外部资料;
  • ❌ 不得拷贝、传播或试图获取他人代码;
  • ✅ 建议定期保存并本地备份代码,防止意外丢失。