数据结构与算法常考知识点
文章平均质量分 70
数据结构与算法常考知识点
sweetheart7-7
技术源于热爱 ---------------------- 学习改变命运,知识改变未来 ---------------------- Architect-Road
展开
-
天梯赛/PAT甲级常考知识点整理
当输入数据 >= 10^5 时,用 scanf,printf 注意边界情况特判!!!!比如为空之类的! 向上取整:(n + m - 1) / m; bfs()搜索时,在加入队列时,就需要标记已经被搜过 如果向让数字逆序,则在加入容器时加负号即可 strcmp(od, "Pop") == 0 long double 精度比 double 高 long double res = 123.45554; printf("%.2Lf\n", res); vector的erase函数: ets.era原创 2022-04-23 10:05:24 · 1160 阅读 · 0 评论 -
ACM必刷知识点
一. 基础部分 1. 基础算法 排序 二分 高精度 前缀和与差分 双指针算法 位运算 离散化 区间合并 2. 数据结构 链表与邻接表:树与图的存储 栈与队列:单调队列、单调栈 kmp Trie 并查集 堆 Hash表 3. 搜索与图论 DFS与BFS 树与图的遍历:拓扑排序 最短路 最小生成树 二分图:染色法、匈牙利算法 4. 数学知识 质数 约数 欧拉函数 快速幂 扩展欧几里得算法 中国剩余定理 高斯消元 组合计数 容斥原理 简单博弈论 5. 动态规划 背包问题 线性DP 区间DP 计数原创 2021-07-28 21:28:40 · 465 阅读 · 0 评论 -
7)时间复杂度分析及常用STL
一般 ACMACMACM 的时间限制是 111 秒或 222 秒。 在这种情况下,C++C++C++ 代码中的操作次数控制在 10710^7107 ~ 10810^8108为最佳。 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: n ≤ 30, 指数级别, dfs+剪枝,状态压缩dp n ≤ 100 => O(n^3),floyd,dp,高斯消元 n ≤ 1000 => O(n^2),O(n^2*logn),dp,二分,朴素版Dijkstra、朴素版Prim、Bellman-For原创 2022-04-10 11:03:43 · 548 阅读 · 0 评论 -
6)贪心.
区间问题 区间选点 最大不相交区间数量 区间分组 区间覆盖 Huffman树 合并果子 排序不等式 排队打水 绝对值不等式 货仓选址 推公式 耍杂技的牛原创 2022-04-10 11:02:59 · 175 阅读 · 0 评论 -
5)动态规划
背包问题 01背包问题 完全背包问题 多重背包问题 多重背包问题 II 分组背包问题 线性DP 数字三角形 最长上升子序列 最长上升子序列 II 最长公共子序列 最短编辑距离 编辑距离 区间DP 石子合并 计数类DP 整数划分 数位统计DP 计数问题 状态压缩DP 蒙德里安的梦想 最短Hamilton路径 树形DP 没有上司的舞会 记忆化搜索 滑雪原创 2022-04-10 11:02:21 · 740 阅读 · 0 评论 -
4)数学知识
试除法判定质数 分解质因数 素数筛 欧拉筛法(朴素筛法) 线性筛法 试除法求约数 约数个数 约数之和 最大公约数 欧拉函数 欧拉函数 筛法求欧拉函数 欧拉定理 快速幂 快速幂求逆元 扩展欧几里得算法 扩展欧几里得算法 线性同余方程 中国剩余定理 表达整数的奇怪方式 高斯消元 高斯消元解线性方程组 高斯消元解异或线性方程组 求组合数 求组合数 I 求组合数 II 求组合数 III 求组合数 IV 满足条件的01序列(卡特兰数) 容斥原理 能被整除的数 博弈论 Nim游戏 台阶-Nim游戏 集合-Nim游戏 拆原创 2022-04-10 11:01:31 · 588 阅读 · 0 评论 -
3)搜索与图论
DFS 排列数字 n 皇后问题 BFS 走迷宫 八数码 树与图的深度优先遍历 树的重心 树与图的广度优先遍历 图中点的层次 拓扑排序 有向图的拓扑序列 最短路算法 朴素版dijkstra 算法 堆优化版 djikstra 算法 bellman-ford 算法 SPFA 算法 SPFA 求最短路 SPFA 判断负环 floyd 求最短路 最小生成树 Prim 算法求最小生成树 kruskal 算法求最小生成树 二分图 染色法判断二分图 匈牙利算法(二分图的最大匹配)原创 2022-04-10 11:00:32 · 317 阅读 · 0 评论 -
2)数据结构
双链表 单调栈 单调队列(滑动窗口) KMP Trie树 Trie 字符串统计 最大异或对 并查集 合并集合 连通块中点的数量 食物链 堆 堆排序 模拟堆 哈希表 模拟散列表 字符串哈希原创 2022-04-10 10:59:43 · 711 阅读 · 0 评论 -
1)基础算法
快速排序 快排 求第k小的数 归并排序 归并排序 求逆序对的个数 整数二分 浮点数二分 高精度 高精度加法 高精度加法压位(压9位) 高精度减法 高精度乘法 高精度除法 前缀和 一维前缀和 二维前缀和(子矩阵的和) 差分 一维差分 二维差分(差分矩阵) 双指针算法 最长连续不重复子序列 数组元素的目标和 位运算 离散化 区间合并原创 2022-04-10 10:58:49 · 742 阅读 · 0 评论