当前位置: 首页 > news >正文

ACM算法学习路线、清单

入门

模拟、暴力、贪心、高精度、排序

图论

搜索

BFS、DFS、IDDFS、IDA*、A*、双向BFS、记忆化

最短路

SPFA、bellman-fort(队列优化)、Dijkstra(堆优化)、Johnson、Floyd、差分约束、第k短路

树的重心和直径、dfs序、树链刨分与动态树、LCA、Prufer编码及Cayley定理、分治、最小生成树{ Prim(堆优化)、Kruskal }

图的联通

强联通分量、双联通分量、割点和桥、2-SAT

网络

网络流{
最大流-最小割
费用流{ zkw费用流、有负费用圈的转化 }
有上下界的网络流 }、
二分图{
最大匹配(匈牙利算法)、最大独立集、最大点权覆盖集、最小路径覆盖}、
方案唯一性

欧拉图
最小平均循环
拓扑排序

计算几何

凸包、半平面交、圆并圆交、pick定理、三角刨分、扫描线、旋转卡壳、仿射变换与矩阵

技巧与思想

二分、三分、位运算、离散化、分块、图的拆点、数列差分化及前缀和、启发式合并、cdq分治、哈夫曼编码、倍增(RMQ、LCA)、莫队算法(树上莫队)

字符串

KMP、Trie(xor问题) 、AC自动机、
后缀树{
后缀数组(波兰表)
后缀自动机
后缀仙人掌}、
LCP、Manacher、有限状态自动机

博弈论

SG函数、极大极小搜索算法(alpha-beta)

数据结构

栈(单调栈)、队列(单调队列)、堆(左偏堆)、链表、哈希表、
并查集{
路径压缩、带边权的并查集、拆点}、
块状链表-块状树、树状数组、
线段树{
Lazy-tag、合并、动态开点、zkw线段树}、
平衡树{
SBT、
splay{ 维护序列:Lazy-tag、合并与分裂 Finger search}
treap 合并与分裂
替罪羊树}、
划分树、归并树、k-d树、主席树、树套树

数学相关

线性筛素数、费马小定理及mr素数判断、高斯消元、原根、模方程{ 模意义下开根、模意义下求对数}、乘法逆元、容斥原理及Ramsey定理(补集转化)、gcd及扩展gcd、中国剩余定理、快速幂、置换、矩阵乘法、欧拉函数、数值与积分、概率与期望、更相减损术、莫比乌斯反演、快速傅里叶变换、排列组合、群论与Burnisde-Polya、母函数

规划

动态规划{
背包{01背包、完全背包、多重背包}
简单模型{LCS、LIS、LCIS}
区间DP
树形DP
数位DP
概率DP
斜率优化
四边形不等式(决策单调性)
数据结构优化
状态压缩(基于连通性的状态压缩)}、
线性规划{ 转化为图论模型、单纯型法}、
分数规划(01分数规划)

其他

随机算法、模拟退火、朱刘算法、爬山算法、遗传算法、DLX算法

相关文章:

  • 设计模式浅析
  • c++ 设计类的时的构造函数和析构函数的注意事项
  • 【CT】LeetCode手撕—141. 环形链表
  • UniApp+Vue3使用Vant-微信小程序组件
  • 基于springboot实现火锅店管理系统项目【项目源码+论文说明】
  • Python读取wps中的DISPIMG图片格式
  • C#类继承示例以及使用注意事项
  • cdh中的zookeeper怎么配置zoo.cfg
  • Arduino入门2——常用函数及用法
  • 实战计算机网络02——物理层
  • 免费个人站 独立站 wordpress 自建网站
  • linux 部署瑞数6实战(维普,药监局)sign第二部分
  • [C++] 小游戏 斗破苍穹 2.11.6 版本 zty出品
  • JVM原理之运行时数据区域
  • 【深度学习】 深入浅出:人脸识别技术的步骤、实现与匹配方法,如何进行人脸识别?
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • Bootstrap JS插件Alert源码分析
  • CentOS从零开始部署Nodejs项目
  • CSS 专业技巧
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Electron入门介绍
  • HTML-表单
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Nodejs和JavaWeb协助开发
  • python docx文档转html页面
  • Python socket服务器端、客户端传送信息
  • V4L2视频输入框架概述
  • vue脚手架vue-cli
  • Vue实战(四)登录/注册页的实现
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 开发基于以太坊智能合约的DApp
  • 数据科学 第 3 章 11 字符串处理
  • 微服务入门【系列视频课程】
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 一些css基础学习笔记
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #etcd#安装时出错
  • (12)Hive调优——count distinct去重优化
  • (2)MFC+openGL单文档框架glFrame
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (vue)页面文件上传获取:action地址
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (六)c52学习之旅-独立按键
  • (六)软件测试分工
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (七)理解angular中的module和injector,即依赖注入
  • (十八)三元表达式和列表解析
  • (四)c52学习之旅-流水LED灯
  • (学习日记)2024.01.09
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)socket Aio demo