周赛解题报告:模板与写作规范
周赛解题报告:模板与写作规范
1. 完整骨架
---
layout: post
title: leetcode 周赛 NNN
description: 一句话概括本场考点(如:矩阵快速幂加速计算)
keywords: 算法, leetcode, 算法比赛
tags: [算法, leetcode, 算法比赛]
categories: [算法]
updateDate: YYYY-MM-DD HH:MM:SS
published: true
---
## 零、背景
(一段话交代参赛/补题情况与总体感受,3 行以内)
本场题型概览如下。
A 题:模拟
B 题:枚举
C 题:递归DP
D 题:矩阵快速幂
## 一、<官方中文题名>
题意:<重述题目,按自然段或分点,2~5 行>
(必要时补充子数组/区间等关键定义)
思路:<一句话方法名>
<推导过程:观察、转化、状态定义、转移方程、复杂度标注>
(可用分点;推导类结论写双向证明,见第 4 节)
```cpp
<题解代码片段,可运行、可自洽>
(每题一节,A/B/C/D 依次为 一/二/三/四)
五、最后
(复盘:各题难度、关键思路、易错点,3~5 行)
《完》
-EOF-
本文公众号:天空的代码世界
个人微信号:tiankonguse
公众号 ID:tiankonguse-code
```
2. Front matter 规范
title:leetcode 周赛 NNN(NNN 为场次号)。description:一句话点出本场最核心考点(参考上一篇)。updateDate:比赛当天时间,格式YYYY-MM-DD HH:MM:SS。- 其余字段固定不变。
- 注意:front matter 每个字段行尾有两个空格(硬换行),与正文一致。
3. 每题节内结构
- 题意:用自己的话重述,保留关键约束与边界条件(如左闭右开、环形、最多一次等);示例可省略,但关键定义不可省略。
- 思路:
思路:XXX单独成行。随后给出推导:- 先讲核心观察/转化;
- 再给状态定义或算法步骤(分点);
- 最后标注复杂度
O(...)。
- 代码:给出与思路对应的核心代码片段。片段应尽量自洽(引用的变量/函数给出定义,如 Init、状态数组),但不要求贴完整类框架。
4. 推导类内容的写作规范(重点)
- 双向等价:凡是写「X 等价于 Y」的结论,必须给两个方向的证明,各写一段。
- 正方向:按定义结构做递归拆分或归纳。例(好字符串 ⟹ 每块长度为奇数):沿条件二递归拆分 s,因长度严格递减必然终止,最终拆成若干个条件一字符串;每层拼接处两侧字符不同,子串不合并,故每块长度都是奇数。
- 反方向:按规模做归纳(如块数)。写清归纳基础与归纳步。
- 措辞精确:结论的限定词要准确。如「每个相同字符连续块的长度都是奇数」≠「整个字符串的长度是奇数」——必要时用反例澄清(”ab” 是好字符串但长度为 2),避免读者混淆。
- 可复算:递推公式给出初始值;矩阵/递推结果可用小 n 验证(如 f(1)=2, f(2)=2, f(3)=4, f(4)=6)。
5. 排版规范
- 中文正文;行尾两个空格(硬换行)断句;段落之间空一行。
- 代码块统一 ` ```cpp `,代码内 2 空格缩进;关键行可加中文注释。
- 内联代码/变量用反引号。
- 数字、复杂度、题名与原文一致;不自行编造题目链接。
6. 验证清单(交付前逐项核对)
- front matter 完整且 updateDate 为比赛日
- 每题:题意 → 思路(含复杂度)→ 代码 三要素齐全
- 四题代码全部用 .md 示例编译运行通过(含多调用鲁棒性)
- 报告内代码与通过验证的代码一致(自洽、可复现)
- 无图片引用(外部 CDN 图由作者手工上传)
- 结尾《完》/
-EOF-/公众号三行齐全
