多平台入门难度算法汇总
图不全,至少还需要以下:
- 数学问题的分类(参考ACwing)
- 分治(字典序问题等等)
- 字符串算法
- 单调队列 + 单调栈
- 复杂模拟问题(类似CCF第三题)
- 优化方法(包括辅助最大最小数组、手写哈希、离散化、差分、高精度算法、前缀和等等)
- 树状数组等等
下图中:
- LC:LeetCode
- P:洛谷
- ACW:Acwing
- PAT:PAT
- HackerRank:HRR
近期想要解决的问题
日期 | |
---|---|
2022-3-24 | - [x] LC169.多数元素(投票算法) - [x] LC169.多数元素(分治法) - [x] LC208.实现Trie(前缀树) - [ ] ACW835.Trie字符串统计(图的观点去理解字典树) - [x] LC421.数组中两个数的最大异或值(Tire树) - [ ] LC27.移除元素(优化双指针) - [x] ACW125.刷杂技的牛(贪心) - [x] ACW148.合并果子(huffman树) - [ ] LC351.安卓系统手势解锁(回溯) - [x] P1443.马的遍历 - [ ] ACW4314.三元组(DFS + 剪枝) - [ ] LC5.最长回文子串(区间dp) - [ ] LC1834.单线程CPU(贪心算法 + 堆) |
2022-3-29 | - [ ] LC222. 完全二叉树的节点个数(位运算) |
2022-4-5 | - [x] ACW906.区间分组(教室安排的联想 + 贪心算法) - [x] ACW907.区间覆盖(贪心算法) - [ ] LC416.分割等和子集(记忆化搜索) - [ ] M01.05编辑一次(巧用递归) - [ ] LC256.粉刷房子(DP + 如何节省空间复杂度) - [ ] LC91.解码方法(DP) - [ ] Other.最优质质数筛法 - [ ] LC152.乘积最大子数组 - [ ] ACW845.八数码 - [ ] LC.重排链表 - [x] LC.寻找峰值 - [ ] LC287.寻找重复数(位运算做法 ) - [ ] LC.24点 |
中期需要解决的问题
别人的算法课设: https://blog.csdn.net/qq_33514421/category_10706123.html
类别 | 问题 | 具体题目 |
---|---|---|
图论 | - [ ] 拓扑排序 - [ ] 并查集 - [ ] Dijkstra算法 - [ ] 最小生成树 - [ ] Kruskal算法 - [ ] prim算法 - [ ] 匈牙利算法 - [ ] 染色问题 - [ ] 货郎担问题 - [ ] 中国邮递员问题 - [ ] SPFA算法 - [ ] 双向BFS |
|
二叉查找 | - [x] 二分查找 |
|
树 | - [x] Trie树 - [ ] 线段树 - [ ] 区间树 - [ ] 树状数组 - [ ] AVL树 - [ ] 红黑树 - [ ] B树 - [ ] B+树 - [ ] 胜者树 - [ ] 败者树 - [ ] Morris遍历 - [ ] 创建二叉树 - [ ] 创建二叉排序树 |
- [ ] Other.博物馆守卫问题(BFS + 分支限界法) - [ ] P1443.马的遍历(BFS) |
优化技巧 | - [ ] 手写哈希 - [ ] 差分 - [ ] 手写Huffman树 - [ ] 辅助最大最小数组(接雨水) - [ ] 单调队列 - [ ] 单调栈 - [ ] 高精度算法 - [ ] 离散化 - [ ] 区间合并 |
- [ ] 接雨水 |
排序 | - [ ] 多路平衡归并排序 - [ ] 归并排序 - [x] 快速排序 - [ ] 稳定快速排序 - [ ] 希尔排序 - [ ] 堆排序 - [ ] 桶排序 - [ ] 计数排序 - [ ] 基数排序 - [ ] 冒泡排序 - [ ] 插入排序 - [ ] 多条件排序 |
- [ ] PAT多条件排序 |
分治 | - [ ] 分治算法 - [ ] 字典序问题 |
|
动态规划 | - [ ] 记忆化搜索 - [ ] 背包九讲 - [ ] 区间DP - [ ] 线性DP - [ ] 计数DP - [ ] 数位DP - [ ] 状态压缩 - [ ] 树形DP |
|
数学问题 | - [ ] Josephus环 - [ ] 质数筛 - [ ] 最大公约数 - [ ] 欧拉函数 - [ ] 容斥原理 - [ ] 高斯消元 - [ ] 博弈论 - [ ] 同余 |
|
字符串 | - [ ] KMP算法 - [ ] AC自动机 - [ ] Manacher算法 |
|
链表 | - [ ] 双向链表 |