# acwing_cpp_base **Repository Path**: Estrus_lxg/acwing_cpp_base ## Basic Information - **Project Name**: acwing_cpp_base - **Description**: 同步acwing 上做过的练习以及相关代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-10-14 - **Last Updated**: 2022-10-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # acwing 算法基础课 代码笔记 该项目的所有代码 仅仅是个人做题笔记和分享 ,[acwing基础课](https://www.acwing.com/activity/content/punch_the_clock/11/)的朋友们欢迎随时来提问。欢迎各位大佬关注并提出问题。 > 纸上得来终觉浅,绝知此事要躬行 ## 第一章 算法基础 1. [快速排序](code/lesson_0/快速排序.cpp) 2. [第K个数](code/lesson_0/第K个数.cpp) 3. [归并排序](code/lesson_0/归并排序.cpp) 4. [浮点数三次方根.cpp](code/lesson_0/浮点数三次方根.cpp) 5. [高精度加法.cpp](code/lesson_0/高精度加法.cpp) 6. [高精度减法.cpp](code/lesson_0/高精度减法.cpp) 7. [高精度乘法.cpp](code/lesson_0/高精度乘法.cpp) 8. [高精度除法.cpp](code/lesson_0/高精度除法.cpp) 9. [前缀和](code/lesson_0/前缀和.cpp) 10. [子矩阵的和](code/lesson_0/子矩阵和.cpp) 11. [差分](code/lesson_0/差分.cpp) 12. [差分矩阵](code/lesson_0/差分矩阵.cpp) 13. [最长连续不重复子序列](code/lesson_0/最长连续不重复子序列.cpp) 14. [数组元素的目标和](code/lesson_0/数组元素的目标和.cpp) 15. [判断子序列](code/lesson_0/判断子序列.cpp) 16. [二进制中1的个数](code/lesson_0/二进制中1的个数.cpp) 17. [区间和](code/lesson_0/区间和.cpp) 18. [区间合并](code/lesson_0/区间合并.cpp) ## 第二章 数据结构 1. [单链表](code/lesson_1/单链表.cpp) 2. [双链表](code/lesson_1/双链表.cpp) 3. [模拟栈](code/lesson_1/模拟栈.cpp) 4. [表达式求值](code/lesson_1/表达式求值.cpp) 5. [模拟队列](code/lesson_1/模拟队列.cpp) 6. [单调栈](code/lesson_1/单调栈.cpp) 7. [滑动窗口](code/lesson_1/滑动窗口.cpp) 8. [KMP字符串](code/lesson_1/KMP字符串.cpp) 9. [trie字符串](code/lesson_1/trie字符串.cpp) 10. [最大异或树](code/lesson_1/最大异或树.cpp) 11. [合并集合](code/lesson_1/合并集合.cpp) 12. [连通块中点的数量](code/lesson_1/连通块中点的数量.cpp) 13. [食物链](code/lesson_1/食物链.cpp) 14. [堆排序](code/lesson_1/堆排序.cpp) 15. [模拟堆](code/lesson_1/模拟堆.cpp) 16. [模拟散列表_拉链寻址法](code/lesson_1/模拟散列表_拉链寻址法.cpp) 17. [模拟散列表_开放寻址法](code/lesson_1/模拟散列表_开放寻址法.cpp) 18. [字符串哈希](code/lesson_1/字符串哈希.cpp) ## 第三章 搜索与图论 1. [数的排列](code/lesson_2/数的排列.cpp) 2. [n皇后问题](code/lesson_2/n皇后问题.cpp) 3. [n皇后问题解法2](code/lesson_2/n皇后问题解法2.cpp) 4. [走迷宫](code/lesson_2/走迷宫.cpp) 5. [八数码](code/lesson_2/八数码.cpp) 6. [树的中心](code/lesson_2/树的中心.cpp) 7. [图中点的层次](code/lesson_2/图中点的层次.cpp) 8. [有向图的拓扑序列](code/lesson_2/有向图的拓扑序列.cpp) 9. [Dijkstra求最短路1](code\lesson_2\Dijkstra求最短路1.cpp) 10. [Dijkstra求最短路2](code\lesson_2\Dijkstra求最短路2.cpp) 11. [dijkstra求最短路径_稀疏图_手写堆](code/lesson_2/dijkstra求最短路径_稀疏图_手写堆.cpp) 12. [有边数限制的最短路](code/lesson_2/有边数限制的最短路.cpp) 13. [spfa求最短路](code/lesson_2/spfa求最短路.cpp) 14. [spfa判断负环](code/lesson_2/spfa判断负环.cpp) 15. [Prim算法求最小生成树](code/lesson_2/Prim算法求最小生成树.cpp) 16. [Kruskal算法求最小生成树](code/lesson_2/Kruskal算法求最小生成树.cpp) 17. [二分图的最大匹配](code/lesson_2/二分图的最大匹配.cpp) ## 第4章 数论 1. [试除法判定质数](code/lesson_3/试除法求质数.cpp) 2. [分解质因数](code/lesson_3/分解质因数.cpp) 3. [筛质数](code/lesson_3/筛质数.cpp) 4. [试除法求约数](code/lesson_3/试除法求约数.cpp) 5. [约数个数](code/lesson_3/约数个数.cpp) 6. [约数之和](code/lesson_3/约数之和.cpp) 7. [最大公约数](code/lesson_3/最大公约数.cpp) 8. [欧拉函数](code/lesson_3/欧拉函数.cpp) 9. [筛法求欧拉函数](code/lesson_3/筛法求欧拉函数.cpp) ## 第5章 动态规划 1. [01背包](code/lesson_4/01背包.cpp) 2. [01背包_一维数组](code/lesson_4/01背包_一维数组.cpp) 3. [完全背包](code/lesson_4/完全背包.cpp) 4. [完全背包_一维数组版](code/lesson_4/完全背包_一维数组版.cpp) 5. [多重背包I](code/lesson_4/多重背包I.cpp) 6. [分组背包](code/lesson_4/分组背包.cpp) 7. [数字三角形](code/lesson_4/数字三角形.cpp) 8. [最长上升子序列](code/lesson_4/最长上升子序列.cpp) 9. [最长上升子序列_回溯](code/lesson_4/最长上升子序列_回溯.cpp) 10. [最长上升子序列_优化](code/lesson_4/最长上升子序列_优化.cpp) 11. [最短编辑距离](code/lesson_4/最短编辑距离.cpp) 12. [编辑距离](code/lesson_4/编辑距离.cpp) 13. [石子合并](code/lesson_4/石子合并.cpp) 14. [整数划分](code/lesson_4/整数划分.cpp) 15. [蒙德里安的梦想](code/lesson_4/蒙德里安的梦想.cpp) 16. [最短hamilton路线](code/lesson_4/最短hamilton路线.cpp) 17. [没有上司的舞会](code/lesson_4/没有上司的舞会.cpp) 18. [滑雪](code/lesson_4/滑雪.cpp) ## 贪心 1. [区间选点](code/lesson_5/区间选点.cpp) 2. [最大不相交区间数量](code/lesson_5/最大不相交区间数量.cpp) 3. [区间分组](code/lesson_5/区间分组.cpp) 4. [区间覆盖](code/lesson_5/区间覆盖.cpp) 5. [排对打水](code/lesson_5/排对打水.cpp) 6. [货舱选址](code/lesson_5/货舱选址.cpp)