[转载]OI省选算法汇总
简单列了一点
1.1 基本数据结构
数组
链表,双向链表
队列,单调队列,双端队列
栈,单调栈
1.2 中级数据结构
堆
并查集与带权并查集
hash 表
自然溢出
双hash
1.3 高级数据结构
树状数组
线段树,线段树合并
平衡树
Treap 随机平衡二叉树
Splay 伸展树
~Scapegoat Tree 替罪羊树
块状数组,块状链表
5.~ 树套树
线段树套线段树
线段树套平衡树
~平衡树套线段树
6.可并堆
左偏树
~配对堆
- KDtree,四分树
1.4 可持久化数据结构
可持久化线段树
主席树
~ 可持久化平衡树
~ 可持久化块状数组
1.5 字符串相关算法及数据结构
KMP
AC 自动机
后缀数组
~后缀树
~后缀自动机
字典树 Trie
manacher
1.6 图论相关
最小生成树
prim
kruskal
最短路,次短路,K短路
spfa
dijkstra
floyd
图的连通
连通分量
割点,割边
网络流
最大流
最小割
费用流
分数规划
树相关
树上倍增,公共祖先
树链剖分
树的分治算法(点分治,边分治,~动态?树分治)
动态树 (LCT,~树分块)
虚树
~prufer编码
拓扑排序
欧拉图
二分图
~KM算法
匈牙利算法
1.7 数学相关
(扩展)欧几里得算法,筛法,快速幂
斐蜀定理
更相减损术
欧拉函数与~降幂大法
费马小定理
排列组合
lucas定理
乘法逆元
矩阵乘法
数学期望与概率
博弈论
sg函数
树上删边游戏
~拉格朗日乘子法
中国剩余定理
线性规划与网络流
单纯型线性规划
辛普森积分
模线性方程组
容斥原理与莫比乌斯反演
置换群
快速傅里叶变换
~大步小步法(BSGS),扩展BSGS
1.8 动态规划
一般,背包,状压,区间,环形,树形,数位动态规划
记忆化搜索
斯坦纳树
背包九讲
斜率优化与~ 四边形不等式优化
环 + 外向树上的动态规划
~插头动态规划
1.9 计算几何
计算几何基础
三维计算几何初步
梯形剖分与三角形剖分
旋转卡壳
半平面交
pick定理
扫描线
1.10 搜索相关
bfs,dfs
A~ 算法
迭代加深搜索,双向广搜
1.11 特殊算法
莫队算法,~树上莫队
模拟退火
爬山算法
随机增量法
1.12 其它重要工具与方法
1.模拟与贪心
二分,三分法(求偏导)
分治,CDQ分治
高精度
离线
ST表
1.13 STL
map
priority_queue
set
bitset
rope
1.14 非常见算法
~朱刘算法
~弦图与区间图
[转载]OI省选算法汇总的更多相关文章
- OI省选算法汇总
copy from hzwer @http://hzwer.com/1234.html 侵删 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 ...
- ORZ hzwer——OI省选算法汇总
简单列了一点 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自 ...
- OI省选算法汇总( 转发黄学长博客 )
[原文链接] http://hzwer.com/1234.html 注 : 蓝色为已学习算法 , 绿色为不熟练算法 , 灰色为未学习算法 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. ...
- OI省选算法汇总及学习计划(转)
1.1 基本数据结构 数组(√) 链表(√),双向链表(√) 队列(√),单调队列(√),双端队列(√) 栈(√),单调栈(√) 1.2 中级数据结构 堆(√) 并查集与带权并查集(√) hash 表 ...
- 排序算法汇总(C/C++实现)
前言: 本人自接触算法近2年以来,在不断学习中越多地发觉各种算法中的美妙.之所以在这方面过多的投入,主要还是基于自身对高级程序设计的热爱,对数学的沉迷.回想一下,先后也曾参加过ACM大大小小的 ...
- 双色球机选算法java实现
双色球机选算法java实现 一.代码 package com.hdwang; import java.util.Random; /** * Created by admin on 2017/1/10. ...
- 边缘检测matlab算法汇总
边缘检测matlab算法汇总 1. 基于一阶微分算子检测边缘图像 一阶微分边缘算子又称梯度边缘算子,它是利用图像在边缘处的阶跃性,及图像梯度在边缘去得极大值得特征性进行边缘检测. Sobel ...
- JavaScript 数据结构与算法之美 - 十大经典排序算法汇总(图文并茂)
1. 前言 算法为王. 想学好前端,先练好内功,内功不行,就算招式练的再花哨,终究成不了高手:只有内功深厚者,前端之路才会走得更远. 笔者写的 JavaScript 数据结构与算法之美 系列用的语言是 ...
- 七内部排序算法汇总(插入排序、Shell排序、冒泡排序、请选择类别、、高速分拣合并排序、堆排序)
写在前面: 排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的随意序列,又一次排列成一个按keyword有序的序列.因此排序掌握各种排序算法很重要. 对以下介绍的各个排序,我们假定全部排 ...
随机推荐
- jobject和jclass
jclass和jobject的迷惑第一次使用JNI,实例引用(jobject)和类引用(jclass)让人觉得很困惑.实例引用与一个数组和java.lang.Object类或它的子类的实例对应.类引用 ...
- Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.2
3.Spark MLlib Deep Learning Convolution Neural Network(深度学习-卷积神经网络)3.2 http://blog.csdn.net/sunbow0 ...
- Python爬取韩寒所有新浪博客
接上一篇,我们依据第一页的链接爬取了第一页的博客,我们不难发现,每一页的链接就仅仅有一处不同(页码序号),我们仅仅要在上一篇的代码外面加一个循环,这样就能够爬取全部博客分页的博文.也就是全部博文了. ...
- Handler之IdleHandler
MessageQueue提供了另一类消息,IdleHandler 如果返回false,每次轮询都会调用(理论上应该可以做一些别的东西) Looper.myQueue().addIdleHandler( ...
- Ajax的简单实现
Ajax的实现需要服务器端和客户端配合来实现 下面看服务器端的代码,也就是用php编写的一个后台脚本文件 <?php //设置页面内容,编码格式是utf8 header("Conten ...
- WPF新手之如何将数据绑定到TreeView
看过许多例子,全是绑定到类的,没人说如何绑定到某个对象,偏偏我这个绝对的新手就是要绑定到一个对象,只能自己摸索了: 首先要将数据绑定到容器,有以下几个默认条件:①元数据必须包装在List或者Obser ...
- javascript模块化编程:CommonJS和AMD规范
AMD规范,异步模块定义.与CommonJS规范齐名并列. 作用都是利于JavaScript的模块化编程. 模块化编程的好处就是: 1.可重用 2.独立 3.能解决加载的依赖性问题 4.能解决重复加载 ...
- 关于JAVA中的前期绑定 后期绑定(动态绑定)
前期绑定,在程序执行前根据编译时类型绑定,调用开销较小,如C语言只有前期绑定这种方法调用. 后期绑定,是指在运行时根据对象的类型进行绑定,又叫动态绑定或运行时绑定.实现后期绑定,需要某种机制支持,以便 ...
- POJ2195 Going Home —— 最大权匹配 or 最小费用最大流
题目链接:https://vjudge.net/problem/POJ-2195 Going Home Time Limit: 1000MS Memory Limit: 65536K Total ...
- IntelliJ IDEA 运行错误:java: Compilation failed: internal java compiler error
错误:java: Compilation failed: internal java compiler error 解决的方法: 文件 --> 设置 : 若没有模块,点击右边的把自己项目的模块添 ...