Olympia IDE

Windows 10 / 11 · 64 位 · 全中文

装完,就打比赛

基于 VS Code 的信息学竞赛编辑器。编译器、评测机参数、题面拉取、提交前检查都装好了, 装完即可直接使用,无需另行配置环境。

1.8 MB(OlympiaSetup-web.exe)引导器 · 需联网,边下边校验

v1.1.0 · 完整包 190 MiB · GPL-3.0-or-later 开源

Olympia IDE 主界面:左侧为竞赛工具面板,中间为代码编辑器,底部状态栏显示当前编译配置与提交前检查结果。
安装完成后的首次启动界面。编译、运行、对拍、比赛模式与题面拉取均在左侧面板内完成。

关于品牌更名

Olympia IDE 将更名为 Spanning。此次调整只涉及名称,现有产品、工程数据与使用方式均保持不变。

官网域名已是 spanning.tech,页面内容与下载入口与更名前一致。

更名将在后续版本中生效,具体时间以更新记录为准。

1双击安装,按向导完成装到当前用户目录,不需要管理员权限
2打开题目文件夹内置编译器自动识别,不修改系统环境变量
3按 F9按评测机参数编译并运行,运行时的输入直接交给程序

装完打开长这样

以下截图为实际界面。第一张是打开工程目录后的样子,第二张是首启时竞赛工具面板自己展开的样子。

Olympia IDE 打开工程目录后的第一屏:左栏是资源管理器,工程目录 olympia-b5-10-proj 下展开着 .olympia、bad.cpp、in.txt、t.cpp,底部是大纲与时间线;中间是「Olympia 开始页」标签页,标题「面向信息学竞赛的桌面 IDE」,副标题「拉取题面、模拟比赛、对照答案,均可在此完成。」,下方八张卡片(拉取题面、插入赛制模板、集训清单、OlympiaAI、新建文件、打开文件夹、命令面板、设置),末尾一行提示「按 Ctrl+Shift+P 打开命令面板」与「完整设置」链接;右侧是「聊天」面板,提示条写着「用 # 引用文件或文件夹,把题面、数据或另一份代码一起发给 OlympiaAI」;底部状态栏写着 洛谷 · C++23,错误 0、警告 0
打开工程目录就是这一屏:左边资源管理器管文件,中间是 Olympia 开始页,拉题面、集训清单、设模型一屏点完。无需登录或订阅,可在命令面板中重新打开开始页。
Olympia IDE 首启后的画面:左栏是「Olympia」面板,「精选」已收起、「竞赛工具」整棵树列着当前环境(编译器 g++ 15.2.0、编译配置 洛谷 · C++23、提交前检查 未检查、题面库 2 份、解题记录 暂无解题记录)、编译与运行(编译并运行 F9、编译当前文件 Shift+F9、按评测机参数编译 Ctrl+Shift+F9、提交前检查 Ctrl+Alt+Enter、跑样例(本地判题)Ctrl+Alt+J、对比期望输出 Ctrl+Alt+K、对拍(正解 vs 暴力)Ctrl+Alt+S、比赛模式(倒计时)Ctrl+Alt+C)、题目与模板(拉取题面 Ctrl+Alt+P、从剪贴板拉取题号 Ctrl+Alt+V、打开题面库 Ctrl+Alt+O、打开原题网页 Ctrl+Alt+U、给这道题加一组自定义样例、集训清单 Ctrl+Alt+L、插入赛制模板 Ctrl+Alt+T、编辑我的模板)和 OlympiaAI 与帮助(全部设置 Ctrl+Alt+,、环境自检 Ctrl+Alt+D、打开官网与文档、许可证与第三方组件);中间是「Olympia 开始页」:标题「面向信息学竞赛的桌面 IDE」,副标题「拉取题面、模拟比赛、对照答案,均可在此完成。」,下方八张卡片(拉取题面、插入赛制模板、集训清单、OlympiaAI、新建文件、打开文件夹、命令面板、设置);右侧是「聊天」面板;底部状态栏写着 洛谷 · C++23,错误 0、警告 0
同一台机器换个视角:「Olympia」面板把当前环境、编译与运行、题目与模板、OlympiaAI 与帮助收在一棵树里,每一项都带快捷键;中间是 Olympia 开始页,常用动作一屏点完。首启面板会自己展开一次,之后不再抢焦点;右侧聊天面板可随时向 OlympiaAI 提问。

以下两组截图展示题面库与设置页。

题面库面板:标题「题面库(缓存了 2 道题)」,搜索框提示「按题号或标题搜,例如 P1001、并查集」,列出两道已缓存的题目——P1001 A+B Problem 与 P53 并查集模板,每行标注洛谷 · 时限 1000 ms · 样例 1 组、文件路径 .olympia\problems\P1001.md 与拉取时间,行末是空心星
按 Ctrl+Alt+O 或从命令面板执行「打开题面库」:缓存过的题按最近拉取排在前面,离线可搜索题号与标题,无需联网。
同一个题面库面板,P53 已收藏:该行排在最前,行首是实心星 ★、行内标注「已收藏」,行末是实心星按钮;搜索框提示变成「按题号或标题搜;敲 AC 只看做出来的题,敲 ★ 只看收藏的」
点击行末星标即可收藏。收藏记录保存在工程目录内,重装系统前可与题面一并备份;在搜索框中输入 ★ 即可只显示收藏的题目。
Olympia 设置页整窗截图:左栏是资源管理器,工程目录 olympia-b5-10-proj 下有 bad.cpp、in.txt、t.cpp;中间标题「Olympia 设置」,副标题「编译配置、样例内存上限、对拍轮数与题面存放位置均可在此修改,修改后立即生效。」,下方是搜索框(提示「搜一下,例如「对拍」「内存」「-O2」」),第一个分组「编译器与评测配置」逐条列出「自定义」编译配置的额外编译参数、优化级别、自定义 g++ 可执行文件路径、竞赛编译配置等设置项,每条显示当前值与「恢复默认」按钮;右侧是聊天面板;底部状态栏写着 洛谷 · C++23,错误 0、警告 0
Olympia 设置:编译配置、样例内存上限、对拍轮数与题面存放位置都在这一页,顶部能直接搜「对拍」「内存」,本页与设置项一一对应,修改后立即生效。

为竞赛写的那部分

以下为 Olympia 自研功能。

自带编译器,也自带评测机的口径

内置完整的 C++ 编译器1,机房机器无需预装环境即可编译。

洛谷(C++23)、NOI(C++14)、自定义三种编译配置。状态栏左侧常驻显示当前编译配置,点击切换; 本地编译参数与评测机保持一致,减少「本地通过、评测未通过」的差异。

完整编译参数见页末注脚。2

提交前检查

保存时自动检查可能在评测机上导致编译失败的写法,只报告会导致失败的问题,不评价代码风格。

从题面到对拍,一个窗口里走完

拉题面。洛谷、Codeforces、AtCoder 题号或链接直接拉进编辑器,也可以从剪贴板识别。 题面、样例、代码在同一个窗口里,不用来回切浏览器。攒到几十道之后题面库按收藏排: 点过星的那几道永远在最前,做过的题自己带标记。

跑样例。拉完题面后按 Ctrl+Alt+J,用题面里的样例数据测当前代码, 按题面中的样例数据比对输出,并依据题面标注的时限与内存限制给出判定结果3。不联网、不需要账号,纯本地判定。 判成 WA 会说清是第几行第几个数不同,还是少输出了一行;再按 Ctrl+Alt+K 把期望与你的输出并排摊开。

对拍。指定正解、暴力与数据生成器三个文件,Olympia 按轮数生成随机数据并比对两份输出;不一致时保留该组数据,并可补进题面样例。全程不弹命令行窗口。

写完按 Ctrl+Alt+U 回到这道题的原网页交题,链接不用从题面里复制。

题面库面板:标题「题面库(缓存了 2 道题)」,搜索框提示「按题号或标题搜,例如 P1001、并查集」,列出两道已缓存的题目
题面缓存与收藏均保存在工程目录内,重装系统前可与工程一并备份。

比赛模式

选一段时长(60 / 90 / 120 / 180 / 240 / 300 / 360 分钟,或自己填),状态栏出现倒计时, 侧栏「当前环境」同步显示剩余时间。重开窗口后倒计时继续;点击倒计时可提前结束。 倒计时期间 OlympiaAI 暂停使用。

模板与键位

ACM / IOI 赛制模板可直接插入;如需修改可编辑个人模板 —— 面板中选择「编辑我的模板」,保存后每次插入模板与新建题目文件都会使用该模板。 另有 20 条竞赛常用写法的补全:快速 IO、freopen、并查集、快速幂、Dijkstra,中英文都搜得到。 常用动作都有快捷键(下表就是全部键位),面板中同样列出对应入口。

全中文,去掉用不上的

界面、向导与报错文案均为中文。调试器、源代码管理、测试等竞赛用不到的视图已从侧栏移除,左侧仅保留资源管理器、搜索、扩展与 Olympia 面板。

常用操作的位置

竞赛动作放在三个常驻位置:左侧 Olympia 面板、底部状态栏、编辑器标题栏。 面板顶部显示编译器版本、当前编译配置、提交前检查结果、题面数量与解题记录。

Olympia 侧栏

  • 当前环境:编译器、编译配置、检查代码、题面库、解题记录、比赛剩余时间
  • 编译与运行:编译并运行、编译当前文件、编译评测机版本、检查代码、运行样例、对比期望输出、开始对拍、开始比赛
  • 题目与模板:拉取题面、拉取题号、打开题面库、打开原题网页、添加自定义样例、打开集训清单、插入赛制模板、编辑我的模板
  • OlympiaAI 与帮助:OlympiaAI 设置(地址 / 密钥 / 模型)、打开设置、检查环境、打开官网与文档、查看许可证

状态栏与标题栏

  • 状态栏左侧三项:编译配置、编译运行、提交前检查结果,点击即可执行
  • 编辑器右上角六个动作:编译并运行、编译当前文件、按评测机编译、提交前检查、拉取题面、插入赛制模板
  • 运行时不弹出命令行窗口,输出显示在 Olympia 面板中

快捷键

装完就能按,不需要自己绑。

操作键位说明
编译并运行F9按当前编译配置编译,成功后直接运行
编译当前文件Shift+F9只看有没有编译错误,不运行
按评测机编译(-O2)Ctrl+Shift+F9打开优化复现评测机行为
提交前检查Ctrl+Alt+Enter扫描会在评测机上编译失败的写法
跑样例Ctrl+Alt+J用题面样例本地判定 AC / WA / RE / TLE / MLE
对比期望输出Ctrl+Alt+KWA 的那一组并排打开:左边期望、右边你的输出
对拍Ctrl+Alt+S随机数据比对正解与暴力,不一致留下那组数据
比赛模式Ctrl+Alt+C选时长开始倒计时,再点一次结束
环境自检Ctrl+Alt+D逐项检查编译器、编译参数与 OlympiaAI 配置
Olympia 设置Ctrl+Alt+,一屏改完编译配置、对拍轮数、题面位置等全部设置
切换编译配置点状态栏 洛谷 · C++23洛谷 / NOI / 自定义
拉取题面Ctrl+Alt+P洛谷、Codeforces、AtCoder
从剪贴板拉题号Ctrl+Alt+V复制网页链接后直接识别
打开题面库Ctrl+Alt+O在本地搜索,无需联网
题面进侧栏Ctrl+Alt+M挑一道题,把题面渲染在左栏:Markdown、公式、样例都在,代码区不受影响
打开原题网页Ctrl+Alt+U按当前文件认出这道题,去它的原题页交题
集训清单Ctrl+Alt+L一份命名题单 + 时长,选它就开一场
插入赛制模板Ctrl+Alt+TACM / IOI 起手代码

OlympiaAI:使用你配置的 API 密钥

OlympiaAI 不绑定账号、不需要订阅:填入服务地址与自己的 API 密钥即可使用,请求直接发往你填写的地址,不经过我们的服务器。不配置也不影响编译与运行。

怎么配

  1. 侧栏 Olympia,进 OlympiaAI 与帮助,选 OlympiaAI 设置(地址 / 密钥 / 模型)
  2. 填写服务地址与 API 密钥(密钥保存在系统密钥库,不写入配置文件)
  3. 模型列表自动获取,获取失败时可手动填写
  4. 额度、价格与充值由所选服务商提供,Olympia 不经手、不抽成,也看不到你的密钥。

怎么用

配好之后在聊天面板里直接提问即可——OlympiaAI 是该面板的默认回答方,会自动带入当前文件的代码。想更聚焦可使用以下指令:

  • /wa:结合题面、样例与你的输出,列出最可能的错因和验证方法
  • /hint:只给方向性提示与关键不变量,不输出完整代码
  • /check:提交前风险清单:边界、溢出、复杂度、读入终止、多组数据
  • 跑样例判出错时,通知中提供「询问 OlympiaAI」入口,自动带入题目、判定与样例信息。

下载

一个完整版安装包,内置编译器。下载后按向导安装,不需要管理员权限,也不需要先配置环境。

Olympia IDE v1.1.0

190 MiB

完整安装包包含编译器与竞赛功能。适用于 Windows 10 / 11(64 位)。

下载完整版安装程序

1.8 MB(OlympiaSetup-web.exe),自动下载全部分卷并逐个校验 SHA256,然后进入中文安装向导。 这一版的全部文件与校验值在这里。

网络不好?手动下载分卷

把下列文件放入同一文件夹,双击 OlympiaSetup.exe。若缺少任一文件,向导会提示「安装程序需要下一张磁盘」。

文件大小
OlympiaSetup.exe2.33 MB
OlympiaSetup-1.bin92.04 MB
OlympiaSetup-2.bin94.37 MB
OlympiaSetup-3.bin10.62 MB

全部文件共 199,361,837 字节,校验值见同目录 SHA256SUMS.txt。

平台Windows 10 / 11 · x64
编译器内置 MinGW-w64 · GCC 15.2.0
安装当前用户目录 · 无需管理员权限

安装后

  1. 首次启动无需配置,左侧「竞赛工具」面板会自动展开一次。
  2. 新建或打开一个 .cpp,按 F9。每次运行前可选择输入来源:直接运行、选择数据文件,或在终端中手动输入。
  3. 想复现评测机行为,点状态栏的「洛谷 · C++23」换编译配置,或用 Ctrl+Shift+F9 打开 -O2。

安装位置与默认主题详见页末注脚,不需要管理员权限,也不会修改系统环境变量。

常见问题

Olympia 是 VS Code 插件吗?

不是。Olympia 基于 VS Code 二次开发,竞赛功能直接集成在产品中;安装后无需再安装插件。

安装时提示「已阻止未识别的应用」怎么办?

安装程序暂未进行代码签名,首次运行需在系统提示中选择继续;这只影响第一次。安装后程序可以随时删除干净。

部分安全软件可能误报。建议下载前核对校验值;如被误报,请将安装程序加入信任列表。

怎么确认我下的包没被动过?

使用系统自带工具核对文件校验值,与发行页列出的校验值逐项比对即可。若使用网络引导安装器,它会自动校验每个分卷,不一致会直接停止并指出是哪一片。

我的设置和题目存在哪儿?换机器、重装怎么办?

程序、设置与题目分别保存在固定位置(详见页末注脚)。换机时拷贝题目文件夹即可,练习记录随文件夹迁移。OlympiaAI 的密钥保存在系统密钥库中,需在新机器重新填写。

卸载即删除安装目录;如需一并清除设置,再删除设置目录。

需要联网吗?

编译、运行、提交前检查、模板与已缓存的题面均可离线使用。需要网络的三件事都是可选项:在线题面拉取、OlympiaAI、以及云端运行(默认不勾选,勾选后才把当次代码发到我们的服务器编译运行)。

支持 macOS / Linux 吗?

当前仅有 Windows X64,Linux 已进入近期计划,MacOS 无近期开发计划。

把时间留给算法

装完,就打比赛。

注脚

  1. 内置工具链为 MinGW-w64(MSYS2 发行,GCC 15.2.0,posix 线程模型),随安装器一起打包,包含 bits/stdc++.h 与 pthread.h。回到「自带编译器」
  2. -x c++ -std=c++23 -fPIC -DONLINE_JUDGE -Wall -fno-asm -lm -march=native 为「洛谷 · C++23」编译配置的基线编译参数;NOI 与自定义编译配置各有一套,状态栏左下角显示的当前编译配置就是当前生效的那一套。回到「评测机的口径」
  3. 时限与内存限制取自题面文本;跑样例在你这台机器上本地判定,「AC」是本地意义上的 AC——评测机的机器性能与计时不同,最终以评测机为准。回到「跑样例」
  4. 无需手动配置的含义:不需要编写 tasks.json、不需要修改 PATH、不需要安装 Python 运行脚本。
  5. 提交前检查覆盖三类写法:#pragma GCC optimize 一类优化属性;asm、and、or、not 等 MSVC 可用、GNU C++ 属关键字的写法;gets、random_shuffle 等在 C++17 起移除的设施。
  6. 安装位置:程序目录为 %LocalAppData%\Programs\Olympia IDE,设置与界面状态位于 %AppData%\.olympia-ide\User,题目与模板位于工程目录下的 .olympia\;核对校验值的命令为 certutil -hashfile OlympiaSetup-1.bin SHA256。
  7. 安装程序由 Inno Setup 生成;首次运行的系统提示为 Windows SmartScreen。若使用 OpenAI 兼容协议的服务地址(例如 DeepSeek),可在设置中填写该服务地址。对拍不一致时保留的数据位于工程目录下的 stress-fail/。