[转载]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有序的序列.因此排序掌握各种排序算法很重要. 对以下介绍的各个排序,我们假定全部排 ...
随机推荐
- function 之 arguments 、call 、apply
1.arguments arguments.length为函数实参个数,arguments.callee引用函数自身. arguments他的特性和使用方法 特性: arguments对象和Funct ...
- fetch 函数分装
1.fetch /** * 封装 fetch */ import { hashHistory } from 'react-router'; export default function reques ...
- <bgsound> - 背景音乐
摘要 项目 说明 形式 <bgsound src="..."> 支持 e2+ 标签省略 开始标签:必须,结束标签:无 ■ 说明 bgsound 是 background ...
- php生成.php文件
<?php // -- test.php -- // //搜集资料 $str_tmp="<?php\r\n"; //得到php的起始符.$str_tmp将累加 $str ...
- Material Design (四),AppBarLayout的使用
前言 AppBarLayout,顾名知意.就是用来给AppBar布局的容器,是LinearLayout的子类.而AppBar就包括我们通常所知道的ActionBar,Toolbar. AppBarL ...
- java涉及父子类的异常
java中的异常涉及到父子类的问题,可以归纳为一句话:子类的构造函数抛出的异常必须包含父类的异常,子类的方法可以选择抛出“范围小于等于”父类的异常或不抛出异常. 1. 为什么构造函数必须抛出包含父类的 ...
- 当年用httpclient时踩过的那些坑
一.前言 httpclient是java开发中最常用的工具之一,通常大家会使用其中比较基础的api去调用远程.长期开发爬虫,会接触httpclient不常用的api,同时会遇到各式各样的坑,本文将总结 ...
- openwrt procd 运行的一些log
void procd_inittab(void) { #define LINE_LEN 128 FILE *fp = fopen(tab, "r"); struct init_ac ...
- Boost源代码学习---weak_ptr.hpp
weak_ptr是辅助shared_ptr的智能指针. 就像它的名字一样.是个"弱"指针:仅有几个接口.仅能完毕非常少工作.它能够从一个shared_ptr或weak_ptr对象构 ...
- T-SQL查询进阶--变量
概述 变量对于一种语言是必不可少的一部分,当然,对于T-SQL来讲也是一样.在简单查询中,往往很少用到变量,但无论对于复杂的查询或存储过程中,变量都是必不可少的一部分. 变量的种类 在T-SQL中,变 ...