通过题目数趋势 按天
各平台分布
难度分布(通过题目数) 按洛谷八级难度归并
提交判定分布
做题打卡日历 颜色越深表示当天通过题目越多
0 道
1–2 道
3–5 道
6–9 道
10 道以上
题目标签分析 最近在做什么类型的题 · 按去重题目统计,不限比赛 统计范围
知识模块分布 按 NOI 大纲模块归并 · 数值为去重题目数
大纲级别占比 入门 / 提高 / NOI
高频标签 TOP 原始标签词频(不归并)
难度分布 按洛谷八级难度
模块明细 尝试 / 通过 / 通过率 · 难度系数区间来自大纲条目
题目标签覆盖 两个口径都看:按题目衡量题库覆盖,按提交行衡量数据完整度
缺口通常来自上游本身没有标签(如 CSES 不提供算法标签、CF Gym 需登录才可读、
洛谷团队私有题对外不可见),并非抓取失败 —— 这种情况本系统一律留空,不做猜测。
通过题目数趋势
明细数据 可直接复制到 Excel
难度分布对比 尝试 vs 通过
通过题目难度占比
各难度明细
学生排行榜按通过题目数降序 · 右侧五档为各难度通过题数
各学生通过题目数
各学生难度分布 堆叠
提交记录
Contest Rating 概览 平台官方比赛积分,与「刷题数」是两套独立评价维度;随年级 / 班级筛选联动
AtCoder Rating 按当前 Rating 从高到低
Codeforces Rating 按当前 Rating 从高到低
学生与平台账号
年级自动升级 每年 9 月 1 日开学自动升一级
学生登录账号 可给学生开设只读账号,学生登录后只能看到自己的数据
班级管理 班级与年级独立:年级随学年自动升级,班级由你手动划分(一个学生可属多个班级);可把学生拖进/拖出班级
未分班学生
拖动姓名到上方班级卡片即可入班
各平台接入状态
| 平台 | 接入方式 | 状态 | 说明 |
|---|---|---|---|
| Codeforces | 官方 API | 可用 | 公开接口,含官方难度分(rating) |
| AtCoder | AtCoder Problems API | 可用 | 公开接口,含题目难度值 |
| 洛谷 | 记录列表接口(需登录态) | 需配置 | 需在「系统设置」页配置 Cookie,详见该页「洛谷接入说明」 |
| VJudge | 状态页数据接口 | 可用 | 公开接口,含 OJ 题号与难度分 |
| boyacoding | HydroOJ 记录接口(需登录) | 需配置 | 在「系统设置」配置管理员账号密码即可;填纯 UID 会自动抓主站 + NOIP 训练域 |
| 33OJ | HydroOJ 记录接口(需登录) | 需配置 | 在「系统设置」配置管理员账号密码即可;填纯 UID 会自动抓主站 + TYOI 训练域 |
我的账号 登录账号与账号安全
平台账号 平台账号可自行修改,改完点「保存」
安全邮箱 忘记密码时,重置链接会发到这里
绑定邮箱后,在登录页点「忘记密码」填账号即可自助重置,不必再找总站管理员。
邮箱只能改自己的(接口不接受账号参数,一律取自当前会话)。
重置邮件发出记录 排查「他说没收到重置邮件」用
接入配置 抓取学生做题记录所需的平台凭据
选择配置对象 总管理员可查看并修改全部教师的接入配置
「全局配置」= config.yaml 里的那套,是所有教师没配时的兜底。
可直接在下方洛谷等卡片上修改(保存后立即生效,无需重启);也可到「系统设置」页改。
下表反映每位教师在每个平台上是自己配了还是回落到全局。
凭据解析规则 决定同步时到底用谁的账号
- 教师自己配了的平台 → 用教师自己的,抓他名下学生的记录;
- 教师没配(或只配了一部分字段)→ 逐字段回落到管理员全局配置;
- 两边都没有 → 该平台的同步会跳过并提示「未配置」。
Codeforces / AtCoder / VJudge 使用公开接口,无需任何凭据,也不受上面规则影响。
教师账号 总站管理员可管理全部学生与教师
学生归属总览 一个学生可同时属于多个教师;「未分配」的学生只有管理员能看到
登录锁定 连续失败 5 次锁定 1 小时(10 分钟内累计)
按账号与客户端 IP两个维度分别计数,任一达到阈值即锁定。
正常用户输错几次不会被锁(阈值是 5 次),被锁的多半是有人在试密码。
管理员账号 账号与密码在 config.yaml 的 admin 段,改完立刻生效
洛谷接入配置 记录列表接口需要登录态
当前凭据:加载中…
点击「配置凭据…」在对话框中填入:Cookie 模式下把
__client_id 与 _uid
两个值分别填进对应输入框即可(也可直接粘贴整串 Cookie,系统会自动拆分);
填过的内容会保留并在下次打开时自动回填。
这里改的是全局兜底配置(写入 config.yaml); 按教师分别配置请到 「接入配置」 页。
账号密码模式已被洛谷改版停用(洛谷改用两步式登录 + 网易易盾行为验证,第三方无法模拟,对话框内有详细说明)。
这里改的是全局兜底配置(写入 config.yaml); 按教师分别配置请到 「接入配置」 页。
账号密码模式已被洛谷改版停用(洛谷改用两步式登录 + 网易易盾行为验证,第三方无法模拟,对话框内有详细说明)。
boyacoding / 33OJ 接入配置 HydroOJ 站点,账号密码自动登录
两个站点均为 HydroOJ 搭建。填入管理员账号密码即可自动登录抓取记录
(推荐,凭据由本机 config.yaml 保存,不会上传);也可只在「浏览器复制 sid」
处粘贴 Cookie(F12 → Application → Cookies → sid 的值)。
学生账号填其站点数字 UID 即可——系统会自动同时抓取主站与训练域
(boyacoding 的 NOIP 域、33OJ 的
TYOI 域),两处数据合并计入同一个学生,
无需填两份。若只想看某一个域,才写成
UID@NOIP / UID@TYOI。
洛谷接入说明 记录列表接口已要求登录态
当前状态:检测中…
洛谷的提交记录列表接口必须带登录态才能读取(未登录一律返回 401), 因此需要在本页配置一份凭据。其余三个平台(Codeforces / AtCoder / VJudge)均为公开接口, 无需任何配置。
获取 Cookie 的步骤(约 1 分钟):
- 用浏览器登录 www.luogu.com.cn
- 按 F12 打开开发者工具 → 切到 Network(网络) 面板 → 刷新页面
- 在请求列表中点任意一条请求 → 右侧 Request Headers → 找到 Cookie 一行
- 从该行里取出两个值:__client_id= 后面的一长串字符, 以及 _uid= 后面的数字(如 458721)
- 回到本页点 「配置凭据…」 → Cookie 模式 → 两个输入框分别填入 → 保存 (保存后会自动校验登录态;也可把整串 Cookie 粘到「高级」框里,系统会自动拆分)
- 随时可点 「测试登录态」,显示登录账号即配置成功
关于「账号密码」模式:洛谷已改版登录系统(两步式通行证 + 网易易盾行为验证),
旧登录接口已下线,第三方程序无法模拟登录。因此本系统只能使用 Cookie 模式,
对话框中保留了该模式的详细说明。
说明:任意一个已登录的洛谷账号即可查看其他用户的公开提交记录,不必是学生本人账号; Cookie 失效后重新复制一次即可。洛谷难度字段随记录一起返回,无需额外抓取。
配置文件
网页保存会写入并即时生效:
—