算法入门

1.语言:

以下刷题常用,先熟练掌握。 
C++容器vector、list、stack、queue、priority_queue、set、pair、map 
C++算法库algorithm //入门阶段刷题还是建议不要用这些偷懒 
Java的BigInterger、BigDecimal(高精度要用)


2.书籍推荐:

算法导论 科曼 
算法竞赛入门经典 刘汝佳 
算法竞赛入门经典——训练指南 刘汝佳 
算法艺术与信息学竞赛 刘汝佳 
数据结构(C++语言描述) 维斯 
具体数学 高德纳 
程序设计中的组合数学 吴文虎 
数论概论 西尔弗曼


3.入门知识点归纳:

暴力与搜索 
回溯 
排列 
子集遍历 
广度优先(单向、双向) //BFS 
深度优先 //DFS 
带权优先


基本算法 
Hash 
线段树 索引树 
并查集 
LCA与RMQ 
伸展树 
Dancing-Link


动态规划 
1维 
2维 
树形 
子集与状态压缩 
背包 
单调队列优化 
斜率优化 
四边形不等式


图论 
最短路Dijkstra //常用,必须能够熟练变形 
最短路Bellman-Ford //支持负权和负环处理 
最小生成树Prim //常用,必须能够熟练变形 
最小生成树Kruskal //常用,必须能够熟练变形 
最小支配集 
最大独立集 
最小覆盖集 
最长路 
最大流 //最小费用最大流很常用 
二分图匹配 //带权和不带权,即匈牙利、EK 
拓扑排序 
强连通 
重连通 
2-SAT


字符串 
AC自动机 
后缀数组、后缀自动机 
Prefix function 
Z function //即extended KMP 
RK-hash


数论 
扩展欧几里德 //解方程、求逆元,非常常用 
筛素数 
快速判素数 
素因子快速分解 
欧拉函数 
中国剩余定理 
离散对数


数值计算 
矩阵快速幂 
三分求凸函数极值 
高斯消元 
FFT


组合数学与博弈 
置换群 //Polya计数 
Fibonacci数 
Catalan数 
Bell数 
stirling数 
容斥原理 
Bash Wythoff Nim Game 
SG函数


计算几何 
基本几何运算 
凸包 
矩形交 
矩形并 
圆交 
圆并 
半平面交 
最近点对 
旋转卡壳 
最远点对


基础3D几何 
空间点面 
空间线面 
平移 
拉伸 
翻转 
任意轴旋转 
3D凸包

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值