一扶苏一 @ 2025-02-25 16:15:15
经管理组讨论通过,《洛谷模板题题解规范》自公布日起实施。
模板题作为题库中一类具有特殊性质的题目,相较于普通题目,其教学与指导意义更为显著。这类题目往往成为用户学习相关算法与知识的核心参考资料。鉴于此,本文特制定针对模板题题解的进一步规范,旨在更有效地满足用户的学习需求。
在主题库、入门与面试题库中名称以【模板】开头的题目。
这部分是对算法本身的介绍,需要包括算法主要用于解决什么问题、算法流程等内容。
对于数据结构类(广义,包括图论、字符串等)模板题,最好添加部分图片来示意数据结构在运行中的变化。
对于数学算法类模板题,需要做好相关概念和函数、变量的定义,给出前置知识的简介或学习链接。
这一部分内容应该主要基于算法的具体运行流程,不要涉及过多的抽象化、形式化内容,以简明易懂为目标。
这部分是对算法更深层次的介绍。首先应该证明算法本身的正确性,并证明算法的时间复杂度。如果相关算法有更深刻的本质,或更抽象、更形式化的描述,也可以在这一部分说明。
这部分应该有文字介绍上文的模板如何应用到模板题上,并给出可以通过模板题的代码。
原则上,鼓励模块化清晰、接口明确的代码。鼓励把相关算法实现成接口明确的函数/类,不鼓励采用面向过程的方法把所有内容都塞在主函数中。
如果相关算法/数据结构在某语言的官方库中(如 C++ 的 STL)中有实现,也应该给出自行实现的算法代码。在此基础上,可以另外给出一份使用官方标准库实现的代码。
注:这里指的是算法本身不应该直接调库。对于算法内部的一些辅助数据结构可以不加说明的直接调库。 例如,堆的模板题应该给出具体实现,而不应该只使用
std::priority_queue
;但后缀自动机的模板题里可以直接使用std::unordered_map
而无需手动实现一个。
代码必须清晰易读,使用合适美观的换行和缩进。但不要求必须是 C++ 语言实现的。
by Leo926 @ 2025-02-25 17:10:41
HP
by joker_opof_qaq @ 2025-02-25 17:11:09
@liwanxian
+1
by e_zhe @ 2025-02-25 17:12:47
qpzc
by LionBlaze @ 2025-02-25 17:14:07
建议挂到主页“本站公告”一栏中,就像题解审核及反馈要求一样。
by joker_opof_qaq @ 2025-02-25 17:17:52
@LionBlaze没必要吧就几个模板题
by Jerrycyx @ 2025-02-25 17:18:24
现在qp还来得及吗?
by zsq9 @ 2025-02-25 17:18:53
opzc
by zsq9 @ 2025-02-25 17:19:08
@opzc35
by joker_opof_qaq @ 2025-02-25 17:20:22
?@zsq9
by LionBlaze @ 2025-02-25 17:20:55
@joker_opof_qaq 但,从字面意思上来看,这确实是公告啊
另外显然一个帖子不能一直置顶,那么如果后人要写一篇模板题的题解,但是只对照着题解审核及反馈要求,没按照这个要求,被打回了多无语啊