OI 也有 pvp?过题并非是正收益?被 weak pretest 迫害的 NOI Au?戏剧性拉满的一集!

赛制由 @_Minmatar_Star 发明。

赛制

一、基础规则

  • 队伍配置:两队对抗,每队 5 人。
  • 题目组成:
  • 个人题:每人 1 道 OI 题,难度在绿题左右,考察码量,部分分设置齐全(含多个子任务)。
  • 团队题:共 5~6 题(4 道思维题 + 1 道神秘题,或 6 道思维题)。
  • 思维题:蓝题难度,每题 50 分,无部分分。
  • 神秘题:人类智慧,以交互为主,200 分,禁止 Hack。
  • 比赛时长:2 小时做题阶段 + 1 小时公开 Hack 阶段。

二、信息隔离与锁题机制

  • 比赛开始时,所有成员只能看到自己的个人题,团队题全员不可见,队伍内部不能交流。
  • 每名选手需独立完成个人题。一旦决定锁定个人题:
  • 无法再修改个人题的任何提交。
  • 可以与同样锁题的队友进行交流。
  • 同时解锁团队题的查看权限,并获得 Hack 对手对应位置个人题的资格。
  • 尚未锁题的成员,只能看到其他人是否已锁题,无法查看团队题,无法参与团队讨论。

三、做题阶段(2 小时)

  • 选手可自由分配时间:先攻克个人题,或尽早锁题进入团队协作。
  • 已锁题的选手:
  • 可与队友实时交流,共同解答团队题。
  • 可随时对对方同位置选手的个人题发起 Hack。
  • 个人题 Hack 规则(逐部分分攻击):
  • 个人题的每个子任务(部分分)都是独立攻击目标。攻击者可以选择任意一个或多个子任务分别发起 Hack。
  • 只有对某个子任务 Hack 成功,对方才会失去该子任务得分的 60%,即该子任务实际得分变为原来的 40%(攻击方不得分)。
  • 未被 Hack 或 Hack 失败的子任务,对方分数不受影响。
  • 举例:若对手在某题拿到了三个子任务的分数(10分、20分、30分),你只针对 30 分的子任务成功进行了 Hack。则对方该子任务得分降为 30 × 40% = 12 分,其余子任务不变,总得分变为 10 + 20 + 12 = 42 分,对方损失了 18 分。

四、公开 Hack 阶段(1 小时)

  • 此阶段只能 Hack 团队题,个人题不再接受 Hack。
  • 团队题 Hack 规则(仅适用于思维题,神秘题禁止 Hack):
  • 攻方需针对某道团队题,成功 Hack 掉对方给出的所有正确做法,才算 Hack 成功。
  • Hack 成功:对方失去该题 70% 的分数,攻击方获得等量分数(真正的“窃取”)。

帮我写一个系统,包括服务器 js,需要支持设置每一对人数,需要有一个无限权限的管理员,还有他会设置每一对人数和账号,配置题目,还有测试点。

上述所有功能都需要体现,包括排行榜和提交,评测等。

内网 html,直接点开 html 登录进入。

页面好看一点,支持浅色和深色系统模式。

支持保存 cookie 不会自动退登。

增加动画。


支持管理员赛时提示、私信等。

然后对照上述所有的要求完善代码。


界面需要继续进行部分美化。

需要完善功能,管理员支持设置题目,可以直接上传文件夹解析,也可以直接在数据文件夹放入一定格式的数据。

题面一道一道地放入,可以支持 pdf,md,根据赛制推送选手。


Hack 需要有数据合法性检查,需要上传检查 cpp。

私信界面尽量模仿 微信/QQ 这种,你的不好看,重构。


请根据赛制实际情况设定,比如个人题编辑,团队题编辑,每道题都有单独的界面来编辑/阅读。管理员需要把题号放进对应的谁做的列表里面。就可以设置题库功能,然后只需要放题号。普通用户只能根据赛制看题/交题/锁题。

数据设定存放目录。


都是比赛(界面+设置界面)单独页面,题目(界面+设置界面)单独页面,还需要支持评测机,好好写。


服务器 admin 设置临时文件储存位置,跟数据位置可以不同。


需要支持自动解析数据,一般是压缩包,.in / .ans。

题目可以选择类型,是否需要写freopen in out,和文件名。文件名不一定和数据一样,需要自己调整。

评测不要出问题。 可以设置是否捆绑,设置方式是一个解析完数据之后如果是捆绑,可以多选设置每一个测试点是哪一个 sub 的然后排序。上传新数据旧数据会删除。除了管理员,限制一道题数据不超过 100Mb

题库页面紧凑一点,可以搜索/标签筛选。

然后整体可以模仿洛谷完善所有功能,自己去洛谷看 私信功能只有比赛可以用,并且根据比赛的规定

编译器如果有 -Wall 的返回值需要再评测记录最后给选手。

Latex 渲染不完整,$ 用不了。

需要同步洛谷的所有 Latex,上网找


题号用 Q+数字,可以修改吗,默认顺着。 题目字体颜色修改一下,题面字体尽量用黑色,或者深色模式就是白色。不用在题目中写子任务,只需要说有捆绑放标签。可以自己添加很多算法类型/比赛类型标签。

给的类似 保存成功提示在右上角一个小玻璃卡片上,就显示一下 题目需要选择是否是子任务,然后决定界面是普通每个点分的配置,还是捆绑选择,就是显示所有测试点,然后可以多选设置是第一个多测的。分可以不是 100


编辑题目有两个栏目,题目设置和评测点设置。 捆绑测试题也是显示所有测试点,对于每一个点修改属于哪一个,可以多选修改成相同的。

支持每一个点写时间空间限制,也支持统一在所有的那一栏修改。

评测需要显示每一个点的时间/空间使用。

评测如果 TLE 需要评测到 1.2 秒(可以调整),显示时间。


标签可以管理,储存到本地。题库管理和题库紧凑一点

测试数据解析有问题,就识别对应的 .in .out 为数据。

rar 也要支持


增加邮箱验证实名,白名单里只有 qq 邮箱,使用我自己的邮箱给别人的 qq 邮箱发送消息,60s 一次。