feat(README.md): add some requirements of the lab.

This commit is contained in:
indigolxy
2023-10-07 22:57:49 +08:00
parent 965e7319bc
commit 1afa5cf9b0

View File

@ -36,9 +36,10 @@
- 学会使用 STL 库 - 学会使用 STL 库
- 加深对于字符串处理的掌握 - 加深对于字符串处理的掌握
- 加深对于时间复杂度的理解 - 加深对于时间复杂度的理解
- 提高模拟水平 - 提高模拟水平,掌握基本的拆分功能、规划项目的能力
- 学会处理边界情况 - 学会处理边界情况
- 规范代码风格 - 规范代码风格
- 学会自己设计测试数据
因此,你需要实现一个 ICPC 比赛后台系统,通过队伍的提交情况对比赛结果进行维护,具体要求实现的操作见 [作业要求](#作业要求)。 因此,你需要实现一个 ICPC 比赛后台系统,通过队伍的提交情况对比赛结果进行维护,具体要求实现的操作见 [作业要求](#作业要求)。
@ -46,7 +47,11 @@
### 🛎分数组成 ### 🛎分数组成
为了让大家在更好地熟悉 C++ STL 相关操作B 班同学需要先完成两个前置作业A 班同学不做要求。所以 A、B 班的分数组成略有差别: 为了让大家在更好地熟悉 C++ STL 相关操作B 班同学需要先完成两个前置作业A 班同学不做要求。
此外,为确保大家有合理的时间分配,我们对 B 班同学设有中期检查A 班同学不做要求。
因此 A、B 班的分数组成略有差别:
#### A 班 #### A 班
@ -62,12 +67,17 @@
| 通过 STL 练习 **1383. 聪老师不想摸鱼** | 5% | | 通过 STL 练习 **1383. 聪老师不想摸鱼** | 5% |
| 通过前置作业 **1346. Michelle 的学生会工作** | 15% | | 通过前置作业 **1346. Michelle 的学生会工作** | 15% |
| 通过 **1987. ICPC Management System (2023 B)****复杂度分析报告提交** | 60% | | 通过 **1987. ICPC Management System (2023 B)****复杂度分析报告提交** | 60% |
| Code Review | 20% | | 中期检查 | 5% |
| Code Review | 15% |
下面是需要说明的几点: 下面是需要说明的几点:
- 题目 ICPC Management System (2023 B) 的所有测试点的时间限制是 ICPC Management System (2023 A) 的 **4 倍** - 题目 ICPC Management System (2023 B) 的所有测试点的时间限制是 ICPC Management System (2023 A) 的 **4 倍**
- Code Review 也是大作业中重要的一部分,在 Code Review 中我们会 **严格审查你的代码风格**,请遵循[代码风格要求](https://acm.sjtu.edu.cn/wiki/Programming_2022/%E4%BB%A3%E7%A0%81%E9%A3%8E%E6%A0%BC)。
- 为了帮助大家养成更好的开发习惯,在 **中期检查** 时请以代码结构图等方式向助教讲解你的 **实现思路**。同时,我们也会检查大家的 **完成度**,请注意**时间分配**。
- 在 Code Review 中我们会 **严格审查你的代码风格**,请遵循[代码风格要求](https://acm.sjtu.edu.cn/wiki/Programming_2022/%E4%BB%A3%E7%A0%81%E9%A3%8E%E6%A0%BC)。
- 为了训练大家分析时间复杂度的能力,本次作业要求完成一份 **书面复杂度分析报告**,报告提交的截止时间与 OJ 提交的截止时间相同,且在 Code Review 时需要展示你的报告。报告的准确程度会影响你的 Code Review 得分。在报告里,你需要给出你的代码中以下几条指令的时间复杂度,并简要说明你是怎么分析的。设 $N$ 为队伍总数,指令后方标注的是我们所能接受的 **最坏** 时间复杂度部分指令存在更优方案如果你的程序对应部分的时间复杂度不能满足要求Code Review 时将被扣除部分分数。 - 为了训练大家分析时间复杂度的能力,本次作业要求完成一份 **书面复杂度分析报告**,报告提交的截止时间与 OJ 提交的截止时间相同,且在 Code Review 时需要展示你的报告。报告的准确程度会影响你的 Code Review 得分。在报告里,你需要给出你的代码中以下几条指令的时间复杂度,并简要说明你是怎么分析的。设 $N$ 为队伍总数,指令后方标注的是我们所能接受的 **最坏** 时间复杂度部分指令存在更优方案如果你的程序对应部分的时间复杂度不能满足要求Code Review 时将被扣除部分分数。
- 添加队伍 $O(\log N)$ - 添加队伍 $O(\log N)$
- 提交题目 $O(\log N)$ - 提交题目 $O(\log N)$
@ -77,8 +87,11 @@
- 查询队伍提交情况 $O(\log N)$ - 查询队伍提交情况 $O(\log N)$
报告形式:建议使用 Markdown 编写,这样可以方便地编写数学公式和插入代码。 报告形式:建议使用 Markdown 编写,这样可以方便地编写数学公式和插入代码。
- 本次作业提供部分样例数据供同学们测试使用,数据存放在本仓库 `data` 目录下。注意,这些数据并非 Online Judge 上的测试数据点,本地通过所有数据点并不能保证你能够通过 OJ 上的测试。每位同学有 **一次** 机会从负责本次大作业的助教(李心瑶 和 薛佳锐)那里获得一个 OJ 测试数据点,**同时禁止与同学分享你获得的数据点**。 - 本次作业提供部分样例数据供同学们测试使用,数据存放在本仓库 `data` 目录下。注意,这些数据并非 Online Judge 上的测试数据点,本地通过所有数据点并不能保证你能够通过 OJ 上的测试。每位同学有 **一次** 机会从负责本次大作业的助教(李心瑶 和 薛佳锐)那里获得一个 OJ 测试数据点,**同时禁止与同学分享你获得的数据点**。
- 除本地提供的样例数据外,我们也鼓励同学们根据自己的程序逻辑,尝试自己设计测试数据辅助调试。在开发和调试的过程中,你可以 **保存下自己设计过的测试数据** ,并记录下自己遇到过哪些困难的问题,以及最终是如何解决的,我们将会**在 Code Review 时检查**这些内容。
### ⏱截止时间 ### ⏱截止时间
@ -90,6 +103,7 @@
- STL 练习:第 6 周周一10 月 16 日18:00 - STL 练习:第 6 周周一10 月 16 日18:00
- 前置作业:第 6 周周四10 月 19 日20:00 - 前置作业:第 6 周周四10 月 19 日20:00
- 中期检查:第 7 周周二10 月 24 日)答疑时间
- ICPC Management System (2023 B) 与分析报告:第 8 周周一10 月 30 日18:00 - ICPC Management System (2023 B) 与分析报告:第 8 周周一10 月 30 日18:00
## 🚀作业要求 ## 🚀作业要求
@ -308,4 +322,3 @@ END
对于 100% 的数据,队伍总数 $N \le 10^4$,题目总数 $M \le 26$ ,比赛时长 $T \le 10^5$ ,操作次数 $\mathit{opt}\le 3\times 10^5$ ,刷新榜单次数 $\mathit{opt_{flush}} \le 1000$ 。封榜次数 $\mathit{opt_{freeze}}\le 10$ 。 对于 100% 的数据,队伍总数 $N \le 10^4$,题目总数 $M \le 26$ ,比赛时长 $T \le 10^5$ ,操作次数 $\mathit{opt}\le 3\times 10^5$ ,刷新榜单次数 $\mathit{opt_{flush}} \le 1000$ 。封榜次数 $\mathit{opt_{freeze}}\le 10$ 。