oi知识表+NOIP提高组算法及算法思想总结

 算法及算法思想总结
  │              By lib
  │
  ├暴力
  ├模拟
  ├递归及递推:数位统计类
  ├构造
▼├排序算法
  │   ├冒泡排序
  │   ├选择排序
  │   ├计数排序
  │   ├基数排序
  │   ├插入排序
  │   ├归并排序
  │   ├快速排序
  │   ├堆排序
  │   └二叉排序树
  │
▼├分治
  │   ├快速幂
  │   ├单调区间求解(二分答案再验证)
  │   ├二分后,先各自计算,然后再根据某种策略合并答案
  │   ├逆序对统计
  │
▼├贪心
  │   ├不相交区间、区间选点问题、区间覆盖问题
  │   ├流水作业调度问题、带期限和罚款的单位时间任务调度问题
  │   ├其它最优化问题
  │
▼├搜索
  │ ▼├剪枝
  │   │   ├最优化剪枝(可先贪心一个次优解)
  │   │   ├可行性
  │   │
  │ ▼├深度优先搜索(dfs):网格数据
  │   │ ▼├实现方式
  │   │   │   ├递归实现(栈<=10000-20000层)
  │   │   │   └非递归实现(手动栈)
  │   │   │ 
  │   │   ├贪心:预处理路径
  │   │   ├回溯法
  │   │  
  │ ▼├广度优先搜索(bfs):线性数据
  │   │   ├队列(先进先出)
  │   │   └双向广度优先搜索(从源汇点同时搜)
  │   │
  │   ├FloodFill(种子填充法)
  │   ├搜索顺序
  │   ├搜索与其他算法结合
  │   ├二分检索
  │
▼├规划
  │ ▼├动态规划(DP)
  │   │ ▼├优化
  │   │   │   ├数据结构
  │   │   │   ├单调队列
  │   │   │
  │   │   ├背包(背包九讲)
  │   │   ├区间型动态规划
  │   │   ├子序列型动态规划
  │   │   ├环形动态规划
  │   │   ├树形动态规划
  │   │   ├字符串型动态规划
  │   │   └记忆化搜索
  │   │
  │
▼├图论
  │ ▼├基本概念
  │   │   ├简单路径:一条路径上的结点除起点x1和终点xk可以相同外,其它结点均不相同(x1=xk的简单路径称为回路/环)
  │   │   ├阶(图结点个数),度=入度+出度(奇点和偶点)
  │   │   ├带权图称为网
  │   │   ├子图:假设有两个图G=(V,E)和G’=(V’,E’),如果V’∈ V且E’∈ E,则称G’为G的子图。
  │   │   ├连通分量:极大连通子图
  │   │   ├混合图(有向+无向):“()”无向边;“<>”有向边
  │   │   ├邻接边,邻接点
  │   │   ├简单图(无环),完全图(点与点之间均有边)
  │   │   ├迹(无重复边),通路/轨(无重复点),圈(起点和终点重合的轨)
  │   │   ├DAG(有向无环图)
  │   │
  │   ├拓扑序(关键路径):AOV网
  │ ▼├最短路(三角不等式)
  │   │ ▼├算法
  │   │   │ ▼├单源最短路(SSSP)
  │   │   │   │   ├Dijkstra(无法处理负环)(堆优化)            O(n^2) {O(E lg V)}
  │   │   │   │ ▼└Spfa(堆优化)                                O(kE)
  │   │   │   │       ├Bellman-Ford的变形
  │   │   │   │       └松弛操作
  │   │   │   │
  │   │   │ ▼└所有顶点对间最短路(APSP)
  │   │   │        ├Floyd:在最外层循环做了k-1次之后,dist[i][j]则代表了i到j的路径中,所有结点编号都小于k的最短路径。
  │   │   │
  │   │   ├次短路∈前K短路
  │   │
  │ ▼├(最小)生成树(MST)
  │   │ ▼├无向图最小生成树
  │   │   │   ├Prim(堆优化)               O(V^2+E)      {O((V+E) lg V)}
  │   │   │   └Kruskal(并查集优化)        O(E lg E+V*E) {O(E lg E+Eα(V))}
  │   │
  │   │
  │ ▼├网络流
  │   │ ▼├算法
  │   │   │ ▼├增广路算法
  │   │   │   │ ▼├Ford-Fulkerson方法
  │   │   │   │   │   ├Edmonds-Karp算法(bfs)                         O(V*E^2)
  │   │   │   │   │   └dfs(效率低下)
  │   │   │   │   │
  │   │   │   │ ▼└最短增广路算法(分层图)                              O(V^2*E)
  │   │   │   │       ├最短路径增值(MPLA)
  │   │   │   │       ├Sap(Gap优化)  推荐
  │   │   │   │       └Dinic
  │   │   │   │
  │   │   │ ▼├预流推进算法:
  │   │   │   │   ├push-relabel算法                                     O(V^2*E)
  │   │   │   │   ├relabel-to-front算法                                 O(V^3)
  │   │   │   │   └Hlpp(最高标号预流推进算法)(效率高但代码长)       O(V^2*sqrt(E))
  │   │   │   │
  │   │   │   └压入与重标记算法
  │   │
  │ ▼├路径
  │   │   ├哈密顿回路:点
  │   │   └欧拉回路:边(欧拉图:含欧拉回路)
  │   │
  │   │
  │   ├dfs序,bfs序的使用
  │
▼├离散结构
  │ ▼├串、树
  │   │   ├LCA与RMQ相互转化
  │   │
  │ ▼├矩阵
  │   │   ├部分和(前缀和)
  │   │   ├离散化
  │   │
  │
  │
▼├数据结构
  │   ├顺序表:数组
  │ ▼├链表
  │   │ ▼├单链表
  │   │   ├双链表
  │   │   ├循环链表
  │   │
  │   ├串(见离散结构)
  │ ▼├集合
  │   │ ▼├哈希表(散列表)
  │   │   │ ▼├哈希函数
  │   │   │   │   ├直接定址法
  │   │   │   │   ├数字分析法
  │   │   │   │   ├平方取中法
  │   │   │   │   └折叠法
  │   │   │   │
  │   │   │   ├分段Hash
  │   │   │ ▼└处理冲突
  │   │   │        ├拉链法
  │   │   │        ├多哈希法
  │   │   │        ├开放地址法
  │   │   │        └建域法
  │   │   │
  │   │   └并查集(路径压缩)
  │   │
  │ ▼├堆
  │   │ ▼├二叉堆
  │   │   │   └最大-最小堆
  │   │   │
  │   │
  │   ├栈:手写栈
  │ ▼├队列
  │   │   ├链队列
  │   │   ├循环队列
  │   │ ▼└优先队列(带权值的队列)
  │   │
  │ ▼├树
  │   │ ▼├线段树
  │   │   │   └Lazy标记
  │   │   │
  │   │   ├树状数组(在线支持修改的前缀和)
  │   │
  │ ▼└图的表示
  │        ├邻接矩阵
  │        ├邻接表
  │        └链式前向星
  │
▼├数学
  │   ├高精度(*高精除高精不要求*)
  │   ├排列组合:Stirling数
  │   ├二项式定理
  │   ├康托展开:一个全排列到一个整数的双射,经常用来做可以用全排列表示状态的搜索的哈希函数
  │ ▼├组合计数
  │   │ ▼├递推关系与生成函数(母函数)
  │   │   │   ├普通型母函数
  │   │   │   └指数型母函数:Fibonacci数列,Catalan数列
  │   │   │
  │   │   ├抽屉原理
  │   │   ├容斥原理
  │   │
  │   ├素数及素数判定
  │   ├乘法逆元(可用欧拉定理,扩展欧几里德定理求解):若ax≡1(mod f),则称a关于模f的乘法逆元为x。
  │ ▼├最大公约数
  │   │   ├欧几里德算法(辗转相除法):gcd(a,b)=gcd(b,a mod b)
  │   │   └扩展欧几里德定理:存在唯一的整数 x,y 使得gcd(a,b)=ax+by
  │   │
  │


做题流程:1、建模(脱马甲);2、破冰(有序、单调、逆向,发散)(状态与状态间联系);3、设计数据结构保存相关信息,并在数据结构的基础上设计算法解决问题(要证明);4、编写代码、调试程序。
每题任务:1、你尝试了几个解题方向和思路?2、正解怎么做的?3、怎样从题目到正解?4、你自己目标分多少?有没有达到?
理科生做题,多问自己为什么要这么做,下次遇到类似的问题怎么办?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/61685.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最大子数组和【力扣53】

一、解题思路 Max[i]表示&#xff1a;以nums[i]为开头的所有连续子数组和的最大值。 由此可以推出Max[i-1]和Max[i]的关系&#xff1a; 若Max[i]>0&#xff1a;Max[i-1]nums[i-1]Max[i]&#xff1b; 否则&#xff1a;Max[i-1]nums[i-1]&#xff1b; 则ansMAX&#xff0…

wms仓储管理系统是什么,wms仓储管理系统有什么用

阅读本文&#xff0c;您可以了解&#xff1a;1、wms仓储管理系统是什么&#xff1b;2、wms仓储管理系统有什么用 一、wms仓储管理系统是什么 WMS是Warehouse Management System&#xff08;仓储管理系统&#xff09;的缩写。它是一种用于优化和管理仓库操作的软件系统。WMS帮…

2023年加湿器市场数据分析(天猫数据分析怎么做)

随着人们生活水平提高、空调广泛使用&#xff0c;导致皮肤紧绷、口舌干燥、咳嗽感冒等空调病的滋生。可以看出&#xff0c;空气湿度与人体健康以及日常生活有着密切的联系。而加湿器作为室内空气湿度控制的重要工具&#xff0c;在近年来受到了越来越多的重视。根据鲸参谋电商数…

【C++常见八股1】内存布局 | 参数压栈 | 构造析构调用 | 空类大小

内存布局 .text 代码段&#xff1a;存放二进制代码、字符串常量.data 段&#xff1a;存放已初始化全局变量、静态变量、常量.bss 段&#xff1a;未初始化全局变量&#xff0c;未初始化静态变量heap 堆区&#xff1a;new/malloc 手动分配的内存&#xff0c;需要手动释放stack 栈…

易服客工作室:创建WordPress会员网站的终极指南

您想建立会员网站吗&#xff1f;长期以来&#xff0c;网站所有者仅依靠广告和联盟收入来将其内容货币化。 会员网站允许您通过用户支付高级内容、功能和社区访问权限来赚钱。 您将需要一个具有管理用户、会员资格、付款等功能的平台。幸运的是&#xff0c;有一些非常好的Word…

深度学习部署:FastDeploy部署教程(CSharp版本)

FastDeploy部署教程(CSharp版本) 1. FastDeploy介绍 FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具&#xff0c; 支持云边端部署。提供超过 &#x1f525;160 Text&#xff0c;Vision&#xff0c; Speech和跨模态模型&#x1f4e6;开箱即用的部署体验&#xf…

苏州OV泛域名RSA加密算法https

RSA加密算法是一种非对称加密算法&#xff0c;它被广泛应用于信息安全领域。与对称加密算法不同&#xff0c;RSA加密算法使用了两个密钥&#xff0c;一个公钥和一个私钥。公钥可以公开&#xff0c;任何人都可以使用它加密信息&#xff0c;但只有私钥的持有者才能解密信息。RSA加…

TZOJ 曹冲养猪 (扩展)中国剩余定理

求解&#xff1a; M a1 (b1) M a2 (b2) M a3 (b3) ........ 对于 上述式子我们可以拆成 &#xff1a; M b1 * p a1 b2 * q a2 左右移项得到&#xff1a; b1 * p - b2 * q a2 - a1 可以发现 这就是一个同余方程&#xff1a; a b1 , b b2 , x p , y q , c …

虹科方案 | 汽车总线协议转换解决方案(二)

上期说到&#xff0c;虹科的PCAN-LIN网关在CAN、LIN总线转换方面有显著的作用&#xff0c;尤其是为BMS电池通信的测试提供了优秀的解决方案。假如您感兴趣&#xff0c;可以点击文末相关链接进行回顾&#xff01; 而今天&#xff0c;虹科将继续给大家带来Router系列在各个领域的…

单调递增的数字——力扣738

文章目录 题目描述解法题目描述 解法 #include<iostream> #include<string>using namespace std;int monotoneIncreasingDigits

腾讯云服务器CPU大全_处理器主频型号清单

腾讯云服务器CPU采用什么处理器型号&#xff1f;主频睿频多少&#xff1f;腾讯云服务器CPU性能如何&#xff1f;云服务器CVM规格不同CPU型号也不同&#xff0c;轻量应用服务器的CPU处理器性能如何&#xff1f;腾讯云服务器网分享腾讯云服务器CPU处理器大全&#xff1a; 目录 …

竞赛项目 深度学习的口罩佩戴检测 - opencv 卷积神经网络 机器视觉 深度学习

文章目录 0 简介1 课题背景&#x1f6a9; 2 口罩佩戴算法实现2.1 YOLO 模型概览2.2 YOLOv32.3 YOLO 口罩佩戴检测实现数据集 2.4 实现代码2.5 检测效果 3 口罩佩戴检测算法评价指标3.1 准确率&#xff08;Accuracy&#xff09;3.2 精确率(Precision)和召回率(Recall)3.3 平均精…