AcWing
  • 首页
  • 课程
  • 题库
  • 更多
    • 竞赛
    • 题解
    • 分享
    • 问答
    • 应用
    • 校园
  • 关闭
    历史记录
    清除记录
    猜你想搜
    AcWing热点
  • App
  • 登录/注册

10天集训沙雕总结

作者: 作者的头像   zhangshuo2008 ,  2020-07-31 16:54:19 ,  所有人可见 ,  阅读 777


4


3

图论

最短路算法

DIjkstra朴素版:没有负权边的最短路O(n);
Dijkstra堆优化版:将求最小值的过程有堆优化成O(logn)
bellman—ford算法:求可以有负权边的最短
spfa算法:对bellman-ford算法的优化

最小生成树算法

prim算法:选点
kruskral算法:选边

二分图算法

判断二分图:染色法
二分图的最大匹配:撬墙角算法

数据结构

栈

数组模拟先进后出的线性数据结构

单调栈:求数列下左边第一个比他大的数

队列

数组模拟先进先出的线性数据结构
单调队列:滑动窗口求最值

KMP

注意next数组的建立

tire字典树

son[][]保存儿子

并查集

注意fa[]数组的建立

堆

是一棵完全二叉树
利用二叉树的性质可以用一维数组保存

哈希

数字哈希:O(1)时间复杂度插入或删除数据
字符串哈希:前缀字符串哈希

基础算法

快速排序

找基准值大于的放右边,小于的放左边,再递归排序

归并排序

归并排序:先分区再合并
逆序对的数量::

二分

数的范围:两个模版,一个是找左边区间的最后一个位置
数的三次方根;

高精度

高精度加法
高精度减法
高精度乘法
高精度除法

前缀和与差分

前缀和
子矩阵的和
差分:前缀和的逆运算
差分矩阵

双指针算法

两个指针出奇迹
最长连续不重复子序列
数组元素的目标和

位运算

二进制中1的个数 (lowbit)x&-x

区间合并

搜索

BFS

用队列暴力世界

Flood Fill

用一个st数组表示有没有遍历过此点
通常求连通块的个数

最短路模型

边权相同的时候
不用图论最短路算法

多源BFS

一开始吧所用的点都入队

最小步数模型

内部搜索

DFS

用递归栈暴力世界

DFS之连通性模型
DFS之搜索顺序
DFS之剪枝与优化

最优性剪枝
优化搜索顺序
排除等效冗余
记忆化搜索
可行性剪枝

0 评论

App 内打开
你确定删除吗?
1024
x

© 2018-2025 AcWing 版权所有  |  京ICP备2021015969号-2
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息