洛谷开放平台使用指北
一直以来,洛谷的题库数据是不公开的,为了满足学校/教育机构的使用需要(填早期 Luogu Fans Meeting 的坑),近日,洛谷开放平台正式开始公测。通过洛谷开放平台,你可以轻松接入自己的 OJ/OpenApp 使用洛谷的题目及评测资源。在你的 OJ/OpenApp 提交题目后,通过洛谷开放平台将代码发回至洛谷,使用洛谷的题目数据完成评测,洛谷的公开题库(除 RemoteJudge 外)均支持此接口。
基于此背景,为了方便更多的用户了解如何接入洛谷开放平台,特此做了一个简易教程供大家参考。
为什么选择洛谷开放平台
洛谷开放平台为广大教育机构及个人提供了更加方便、高效的解决方案。通过接入洛谷的题目及评测资源,用户可以大幅降低开发和维护成本,同时获得更加稳定和精准的评测服务,提升用户的使用体验和满意度。
除此之外,洛谷开放平台还提供了完善的文档和技术支持,帮助用户快速上手和使用。用户只需要按照文档的指引,完成简单的接入操作,就可以轻松使用洛谷的题目及评测资源,无需再自行搭建评测机和题库。
洛谷开放平台为广大教育机构和个人提供了更加便捷、高效、稳定和精准的题目及评测资源服务,为 OJ/OpenApp 的开发和使用提供了强有力的支持和保障。
洛谷开放平台支持怎么接入
在与多家开源 OJ 的沟通交流后,洛谷开放平台首批支持多家 OJ 接入,如 HydroOJ、UOJ、SYZOJ 等。如果您对洛谷开放平台有兴趣可以自行接入,但洛谷仅保证官方接入和基础API的正常使用。
为什么有部分 OJ 不在支持范围内
不是所有评测系统都在设计上支持远端评测,首批接入的 OJ 均原生支持 RMJ 或是由官方开发者适配接入 RMJ。洛谷开放平台暂时无法支持原生不支持远程评测或修改较多的 OJ ,因为此类 OJ 每家学校/机构可能都有自己的定制化内容或对底层进行了大改,洛谷无法确保对此类 OJ 提供的官方接入插件依旧能保证流畅运行的同时不会对洛谷开放平台造成伤害(如反复请求评测结果、数据未加密导致不安全等)。
如果您使用的是支持远程评测的评测系统,那么使用体验会较为流畅和方便,您可以直接在自己的 OJ/OpenApp 上通过相关开发者提供的插件连接到洛谷开放平台来提交和获取评测结果,同时还可以实时监控评测进度和结果。
对于那些不支持远程评测或修改较为麻烦的评测系统,您可能需要考虑其他解决方案,例如通过一些脚本迁移至新的在线评测系统,如洛谷开放平台推荐的 HydroOJ 就支持无缝迁移。当然,这些方案都有各自的优缺点,您需要根据实际情况进行选择,部分 OJ 为洛谷开放平台接入用户提供了免费协助服务,详情可查看洛谷开放平台文档。
部署指北(以 Hydro 为例)
不是所有评测系统都在设计上支持远端评测,因此洛谷开放平台推荐使用原生支持多题库和远端评测的 Hydro。Hydro 有完善的插件系统用以增删定制功能,以及原生的多题库和远程评测支持。更多功能可参照 功能对比。
如果您已经安装了 HUSTOJ、SYZOJ、Vijos 等评测系统,同样也可以根据 官方迁移指南 的介绍将您的评测系统无缝迁移至 Hydro,所有的题目、用户、提交记录、比赛等数据均会保留。若在迁移过程中遇到问题,可以联系开发人员免费协助。
HydroOJ 作为首批接入洛谷开放平台的在线评测系统,实现了完整的远程评测体验,您可以在 Hydro 中导入洛谷全部题目,定期更新,复制题目,编辑题面,发起评测和接收所有的子评测详细结果。
下面,我们便以 Hydro 作为示例进行接入,更多的接入方法你可以在洛谷开放平台的使用指南中找到。
如果您还没有安装 Hydro,可以使用下方命令一键安装,详情阅读官方指南。
LANG=zh . <(curl https://hydro.ac/setup.sh)
使 Hydro 接入洛谷开放平台,您需要进行以下操作:
- 使用
hydrooj install @hydrooj/vjudge && hydrooj install https://cdn.luogu.com.cn/lgapi/hydro/hydroplugin-luogu-0.0.1.tgz
安装相关模块。 - 使用
hydrooj cli luogu importProblem
导入题库。 - 使用
hydrooj cli luogu addAccount <token>
设置账号。 - 重启 Hydro 进程(
pm2 restart hydrooj
)。 - 大功告成!
备注:添加每一个步骤的截图和教程
至此,您可打开您的 Hydro ,在 luogu 域( 您的 OJ 地址/d/luogu/ ) 查看到导入的题目以及开始使用,如需要更新题目至最新的洛谷题库,仅需要重复运行第二步即可。对于 Hydro 的更多使用指南,此文不在赘述,您可以前往 Hydro 官方文档进行了解,如果需要帮助部署/迁移或有二次开发的需求,您可联系 Hydro 开发者寻求帮助。
- Hydro 仓库地址:https://github.com/hydro-dev/hydro
- Hydro 文档:https://hydro.js.org (镜像:https://docs.hydro.ac)
- 洛谷 vjudge 插件仓库地址:https://github.com/hydro-dev/luogu
洛谷开放平台为学校/培训机构提供了全新的解决方案,通过洛谷开放平台,用户可以便捷的享受洛谷庞大题库带来的便利,帮助用户进行培训与教学。此项服务为收费业务,详情请询问kkk。