博客专栏  >  编程语言   >  算法和数据结构模板

算法和数据结构模板

学习的算法和数据结构模板

关注
0 已关注
15篇博文
  • STL数据结构小结

    STL数据结构**1.队列 queue –> 优先队列 priority_queue 2.栈 stack 3.向量 vector 4.双向链表 list 5.集合 set –> 可重复集合 m...

    2017-09-16 13:22
    209
  • 线段树

    PART 1 单点更新,区间询问 1443区间和升级版 题目描述 这次的任务是:在伴随着数字改变的情况下,试试统计某段的和。 输入 第一行两个整数n和m,表示有一个长度为n个序列和m个...

    2017-09-17 08:42
    115
  • Trie树

    一种用于检索的数据结构 大致就是开一个数组,记录节点 然后记录经过这个节点的字符串个数,以及这个节点表示的字符串个数 分别用pre pass end记录 复杂度大约为len∗mlen*mm为操...

    2017-11-28 20:58
    60
  • 矩阵快速幂

    一道模板题 可以发现相乘的三个for可以都for到n 矩阵可以把时间复杂度缩为n3logkn^3logk#include using namespace std; #define FOR(i,x,...

    2017-12-13 22:15
    69
  • 莫队算法

    莫队算法较为朴素,适用于大部分的区间查询,主要在于对询问的排序 和区间的滑动 排序参照一下模板struct node{ int l,r,id; bool operator <(co...

    2017-12-19 21:39
    56
  • 中国剩余定理

    中国剩余定理,是建立在扩展欧几里得上的算法 用来求线性模方程的解 即给出许多模数mi,然后给出余数ai,求原数x 代码如下struct China{ #define N 5 LL...

    2017-12-28 22:09
    59
  • 线性筛

    线性筛O(n) 推导一下复杂度: 对于第二重循环 可发现30=2*3*5是由15=3*5推出来的 有一个数的最小质数为x 则可用小于等于这个x的质数推出其他合数 那么每个数只会被推出一次(...

    2018-01-04 21:24
    60
  • 莫比乌斯系数的筛法

    利用线性筛完成的莫比乌斯系数(函数)的推导 注意mu[1]=1; void init(){ mu[1]=1; FOR(i,2,M-1){ if(!mark[i])p...

    2018-01-06 20:05
    59
  • AC自动机

    一个自动AC的东西... 套用KMP的fail指针,然后再是利用字典树进行字典与文章的匹配 以下是模板#include using namespace std; #define FOR(i,x,y...

    2017-12-08 18:57
    53
  • 二分图最大匹配(匈牙利算法)

    前言:二分图最大匹配其实就是二分匹配 利用了增广路的思想实现了点对间的一一配对 若想理解匈牙利算法可点击此链接代码实现是比较简单的,匈牙利算法在很多关于匹配的题目中有很灵活的运用(纯属博主瞎逼)代...

    2017-10-17 17:08
    72
  • bell-man

    虽然现在更新有点迟了,但bellman还是一个值得学习的算法void relax(int u, int v, int weight) { if(dist[v]>dist[u]+weight) ...

    2017-10-13 20:54
    130
  • 迪杰斯特拉

    迪杰斯特拉是一个经典的图论算法 利用优先队列优化使复杂度由n*n优化到n*logmstruct SP{ int dis[M]; typedef pair P; priori...

    2017-10-03 16:19
    128
  • 图论——SPFA模板

    SPFA是一种求最短路径的算法 SPFA的两种写法,bfs和dfs 判断有无负环: 如果某个点进入队列的次数超过N次则存在负环(SPFA无法处理带负环的图) bfs判别负环不稳定,相当于限深度...

    2017-09-28 16:08
    96
  • 最小生成树模板——kruskal

    kruskal算法int par[MAX_N]; struct edge{int u,v,len;}e[MAX_M]; bool cmp(edge x,edge y){ return x.len<...

    2017-09-24 20:55
    172
  • LCA(最近公共祖先)倍增算法

    最近公共祖先有多种算法 如倍增,RMQ,树链剖分等这里先介绍倍增算法 预处理复杂度nlog(n); 询问复杂度log(n);倍增与二进制息息相关 与分块的算法有些相似之处使用倍增算法时开一个f...

    2017-09-22 15:55
    234
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部