一扶苏一 @ 2025-02-25 16:15:15
经管理组讨论通过,《洛谷模板题题解规范》自公布日起实施。
模板题作为题库中一类具有特殊性质的题目,相较于普通题目,其教学与指导意义更为显著。这类题目往往成为用户学习相关算法与知识的核心参考资料。鉴于此,本文特制定针对模板题题解的进一步规范,旨在更有效地满足用户的学习需求。
在主题库、入门与面试题库中名称以【模板】开头的题目。
这部分是对算法本身的介绍,需要包括算法主要用于解决什么问题、算法流程等内容。
对于数据结构类(广义,包括图论、字符串等)模板题,最好添加部分图片来示意数据结构在运行中的变化。
对于数学算法类模板题,需要做好相关概念和函数、变量的定义,给出前置知识的简介或学习链接。
这一部分内容应该主要基于算法的具体运行流程,不要涉及过多的抽象化、形式化内容,以简明易懂为目标。
这部分是对算法更深层次的介绍。首先应该证明算法本身的正确性,并证明算法的时间复杂度。如果相关算法有更深刻的本质,或更抽象、更形式化的描述,也可以在这一部分说明。
这部分应该有文字介绍上文的模板如何应用到模板题上,并给出可以通过模板题的代码。
原则上,鼓励模块化清晰、接口明确的代码。鼓励把相关算法实现成接口明确的函数/类,不鼓励采用面向过程的方法把所有内容都塞在主函数中。
如果相关算法/数据结构在某语言的官方库中(如 C++ 的 STL)中有实现,也应该给出自行实现的算法代码。在此基础上,可以另外给出一份使用官方标准库实现的代码。
注:这里指的是算法本身不应该直接调库。对于算法内部的一些辅助数据结构可以不加说明的直接调库。 例如,堆的模板题应该给出具体实现,而不应该只使用
std::priority_queue
;但后缀自动机的模板题里可以直接使用std::unordered_map
而无需手动实现一个。
代码必须清晰易读,使用合适美观的换行和缩进。但不要求必须是 C++ 语言实现的。
by LionBlaze @ 2025-02-25 16:17:56
qp
by SmokingTurtle @ 2025-02-25 16:18:41
qpzc
by LionBlaze @ 2025-02-25 16:19:18
@一扶苏一 【模板】快速读入算模板吗
by ty_mxzhn @ 2025-02-25 16:19:18
by SkyWave @ 2025-02-25 16:19:18
前排支持
by K8He @ 2025-02-25 16:19:21
我喜欢你
by luogu_gza @ 2025-02-25 16:19:21
前排支持。
by MrPython @ 2025-02-25 16:19:33
支持
by xxgirlxx @ 2025-02-25 16:19:46
@一扶苏一所以如果有一些题解不是使用的该模板题的算法会撤下吗?
by MrPython @ 2025-02-25 16:19:47
@LionBlaze 算。