-
Notifications
You must be signed in to change notification settings - Fork 0
使用说明
Zisu Zhang edited this page Aug 25, 2023
·
3 revisions
在Aoi内,题目的概念和传统OJ是类似的。用户可以在题目页面提交自己对题目的解答,并由Aoi平台自动进行评测。
与传统的OJ不同,Aoi平台对题目几乎没有限制——一切“提交解答、后台评测、返回分数结果”的需求均可以实现为题目。 为了支持各种评测请求,具体的评测逻辑交由评测器实现,AOI平台仅做下列约定/规定:
- 题目的提交/评测必须用
problem-config
格式描述。 - 题目的评测结果必须包含:
- 归一化到
[0, 100]
浮点区间的标准分数 - 形式为
Record<string, number>
的性能描述结果 - 评测状态字符串
- 评测状态描述字符串
- 归一化到
- 对于更为详细的信息,需要格式化为
solution-details
格式,并以JSON文件保存在OSS中
目前,官方评测机实现了UOJ数据格式的评测。
Aoi的比赛功能远比传统OJ强大。具体而言,Aoi支持:
- 自定义比赛阶段:可以设置并控制比赛每一个阶段的各项功能,从而兼容OI、IOI、ACM等传统赛制与各种新赛制。
- 自定义Ranklist:通过Ranker可以任意定制排行榜。支持多排行榜、排行榜显示控制等,也可以完全关闭排行榜节约计算资源。
- 基于比赛的题单:比赛中可以提交在题库无法查看、提交的题目,供训练使用。
Aoi中的训练计划是比赛(题单)的集合。您可以在一个计划中添加多个比赛,并制定报名某个比赛所需要的前置条件。 具体而言,您可以控制用户参加某个比赛/题单,需要满足下列的若干条件:
- 在某场比赛中,获得至少多少总分;
- 在某场比赛的某些题目中,获得至少多少总分。
Aoi中,所有的题目、比赛、训练计划都逻辑上属于某个特定的组织。对于这三个功能,Aoi提供两套权限控制机制:
题目、比赛、训练计划都拥有一个可见性设置。可见性分为如下三种:
- 公开(Public):不在当前组织内的用户亦可见。
- 受限(Restricted):仅当前组织内的用户可见。
- 私有(Private):只有管理员和权限规则显式允许的用户可见。
权限规则提供细粒度的权限控制。对于每个题目、比赛、训练计划,您可以单独设置特定用户/小组的权限,从而提供最细粒度的控制。
一个建议的设置是,对于保密性高的题目,设置为私有,并创建单独的、包含其的比赛。比赛可以设置为受限,并只允许信任的学生报名。
在Aoi中,组织内若想使用文件相关功能,必须配置OSS。您可以选择S3兼容的SaaS提供商,如Amazon S3、Cloudflare R2、阿里云OSS等;亦可选择自行部署S3兼容的OSS服务,如MinIO。
The AOI Project.