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