Skip to content

sunyzhi55/AcwingTemplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 

Repository files navigation

date 2025-10-21 15:01:00 -0700
tags
C++
Algorithm
Data Structure
AcWing Template
Study Notes

AcWing 算法模板库 Banner

AcWing 算法模板库 Banner

Language Topic License Progress Created Difficulty Community

📅 项目时间:2025.10.21 — 2025.11.17 · 已完成


🚀 AcWing 算法模板库

“Talk is cheap. Show me the code.” —— Linus Torvalds

每一次 AC,都是未来你在赛场上自信的底气; 每一次调试,都是你在黑夜中点亮的一盏灯; 算法不是冷冰冰的符号,而是你智识与意志的交响。

💡 别怕题海,只怕你停桨。算法之路,从不是天赋者的独舞,而是坚持者的长跑。


📖 项目简介

项目构建时间:2025年10月21日-2025年11月17日。

AcWing 算法模板库 是一个面向算法学习者的系统化学习项目,基于 AcWing 的课程内容整理而成。 项目旨在帮助你从零构建算法体系,理解算法背后的思想,掌握可直接上手的模板,实现“从入门到竞赛级”的跃迁。

📘 内容涵盖:

  • 精炼的 算法笔记
  • 结构化的 代码模板
  • 精选的 练习题目清单

无论你是刚踏入算法世界的新手,还是想系统巩固知识的进阶者,这个仓库都将是你攀登算法之巅的坚实阶梯。


🧩 主要内容

模块 内容 进度
基础算法 快排、归并、二分、高精度、前缀和、双指针、位运算、离散化、区间合并 ✅ 已完成
数据结构 链表、栈队列、单调栈队列、KMP、Trie树、并查集、堆、哈希表 ✅ 已完成
图论算法 DFS/BFS、图遍历、拓扑排序、最短路、最小生成树、二分图 ✅ 已完成
基础数学 质数约数、欧拉函数、快速幂、组合计数、容斥原理、博弈论 ✅ 已完成
动态规划 背包问题、线性DP、区间DP、计数DP、数位DP、状态压缩、树形DP ✅ 已完成
贪心问题 区间问题、哈夫曼树、排序不等式、绝对值不等式、推公式 ✅ 已完成

🔍 项目结构

AcwingTemplate/
├── README.md                    # 📖 项目主文档(本文件)
├── Problem_list.md              # 📝 1300+道精选算法练习题单
└── 算法基础课/                  # 📚 算法课程内容
    ├── assets/                  # 🖼️ 图片、音频等辅助资源
    ├── 1_基础算法_原始格式.md    # 📝 基础算法详细笔记
    ├── 1_基础算法_美化后.md      # ✨ 基础算法精美版笔记
    ├── 2_数据结构_原始格式.md    # 📝 数据结构详细笔记
    ├── 2_数据结构_美化后.md      # ✨ 数据结构精美版笔记
    ├── 3_搜索与图论_原始格式.md  # 📝 搜索与图论详细笔记
    ├── 3_搜索与图论_美化后.md    # ✨ 搜索与图论精美版笔记
    ├── 4_数学知识_原始格式.md    # 📝 数学知识详细笔记
    ├── 4_数学知识_美化后.md      # ✨ 数学知识精美版笔记
    ├── 5_动态规划_原始格式.md    # 📝 动态规划详细笔记
    ├── 5_动态规划_美化后.md      # ✨ 动态规划精美版笔记
    ├── 6_贪心问题_原始格式.md    # 📝 贪心问题详细笔记
    ├── 6_贪心问题_美化后.md      # ✨ 贪心问题精美版笔记
    └── 7_时间复杂度分析.md       # ⏱️ 算法复杂度分析专题

📚 内容说明

1️⃣ Problem_list.md

一个系统整理的算法题单,覆盖基础算法、数据结构、图论、数学知识等核心模块。 题目来源包括 LeetCode洛谷AcWing 等平台,并根据算法类型分类整理,帮助你有的放矢地练习。

2️⃣ 算法基础课/

  • 每章提供原始版与美化版,先读美化版再看原始版,兼顾深度与可读性

  • 🔰 基础算法:快排、归并、二分、前缀和、双指针、位运算、离散化、区间合并

  • 🏗️ 数据结构:链表、栈队列、单调结构、KMP、Trie、并查集、堆、哈希

  • 🕸️ 搜索与图论:DFS/BFS、拓扑、最短路、最小生成树、二分图

  • 🧮 数学知识:质数与约数、欧拉函数、快速幂、组合计数、容斥、博弈论

  • 🎒 动态规划:背包、线性DP、区间DP、计数/数位DP、状态压缩、树形DP

  • 💎 贪心问题:区间类、哈夫曼、排序不等式、绝对值不等式、推公式

  • ⏱️ 时间复杂度分析:常见算法/数据结构复杂度与优化方向

🌱 “算法训练,就像在脑海中种下一片森林。每道题,都是你种下的一棵树。”


🚀 使用方法

📖 第一步:阅读笔记

选择版本:初学者建议从"美化后"版本开始,有一定基础后可参考"原始格式"深入理解

理解原理:仔细阅读算法思想、复杂度分析部分

研究模板:分析代码模板的实现细节和优化技巧

查看例题:通过具体例子加深对算法应用的理解

🎯 第二步:刷题实践

查找题目:在Problem_list.md中找到对应知识点的练习题

从易到难:按照题单中的难度顺序逐步挑战

多平台练习:利用LeetCode、洛谷等平台的不同题型

记录总结:建立错题本,记录解题思路和易错点

💻 第三步:掌握模板

理解代码:不要死记硬背,要理解每行代码的作用

手动实现:尝试不看书自己写出完整模板

改造应用:根据具体问题对模板进行适当修改

速度优化:通过反复练习提高代码实现速度

🔄 第四步:复习巩固

定期回顾:每隔一段时间复习已学算法

综合应用:尝试解决需要多个算法结合的复杂问题

分享讲解:向他人讲解算法,检验自己的理解程度

参加竞赛:通过实际比赛检验学习成果

🧠 “模板不是死记硬背的符号,而是思维的骨架。 当你能脱稿写出模板,就是算法真正刻进了你的大脑。”


📝 学习建议

🎯 系统学习法

  1. 循序渐进:按照基础算法→数据结构→搜索与图论→数学知识→动态规划→贪心问题的顺序学习
  2. 三步掌握:理解原理→模板实现→题目验证,每个算法都要经历这三个阶段
  3. 错题管理:建立错题本,记录错误原因、正确思路和反思总结
  4. 知识输出:通过写博客、讲解给他人来检验和深化理解
  5. 长期坚持:算法学习是智力与耐心的修行,需要持之以恒

💡 高效学习技巧

  • 番茄工作法:25分钟专注学习+5分钟休息,保持高效状态
  • 费曼学习法:尝试用最简单的语言向他人解释复杂算法
  • 刻意练习:针对薄弱知识点进行专项训练
  • 思维导图:用图形化方式整理和连接知识点
  • 定期复习:遵循艾宾浩斯遗忘曲线,科学安排复习时间

💬 "写算法就像炼剑:每一次调试都是在打磨,每一次 AC 都是剑出鞘的刹那。"


🔗 相关资源


❤️ 致学习算法的你

如果你此刻正在为一道题苦思冥想,请记住—— 所有的“顿悟”,都来自无数次的“不懂”; 所有的“秒 AC”,都源于曾经的千百次 TLE。

算法不是选拔天才的门槛,而是淬炼思维的磨刀石。 当你勇敢敲下第一个 cout << "Hello World";,你就已经踏上了伟大的征程。

“哪怕前路艰难,也请继续前行。 因为在不远的将来,那个会写出最优解的你,一定会感谢现在坚持的自己。”

Happy Coding, and Keep AC-ing! 🎉💪

Star History

AcwingTemplate

参考链接

https://www.hjw-aihub.cn/technology/acwing-base-learning

acwing 算法基础课模板

acwing 算法基础课模板 | HiBlog

Acwing算法学习 | Kennem's Blog

acwing算法基础课整理ACM模板 - VanHope - 博客园

Yuki2L0ve/algorithm: There are many notes for the major algorithmic platforms are stored here.

shinezzz/AcWingBasicAlgorithmCourse: ACWing 算法基础课 Java 版笔记

About

ACWing 算法基础课 C++ 笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors