博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
优先队列 + 并查集 + 字典树 + 欧拉回路 + 树状数组 + 线段树 + 线段树点更新 + KMP +AC自动机 + 扫描线...
阅读量:6163 次
发布时间:2019-06-21

本文共 1739 字,大约阅读时间需要 5 分钟。

这里给出基本思想和实现代码 . 

优先队列 : 

曾经做过的一道例题      

1 struct node2 {3     int x,y,step;4     friend bool operator <(node s1,node s2)      //   定义结构体   的时候   这个 就是  用于 优先队列的   基准排序 5     {6         return s1.step>s2.step;             //    步数小的  在上   为小顶堆  7     }8 };9 priority_queue
Q; // 优先队列的结构体定义说明和 生命方法

并查集 :

曾经做过的一道例题      

 

int findx(int x){    if(x!=parent[x])        parent[x]=findx(parent[x]);  //   回溯的时候压缩路径  这个是 压缩路径的精髓    return parent[x];  //   实际上我也看不出来  到底哪里好 ......}son :       1 3 8 9parent :    1 1 3 8
int find(int x){    int k,j,r;          r = x;    while(r != parent[r])       //          r = parent[r];    k = x;            while(k != r)               {        j = parent[k];               parent[k] = r;        k = j;                  }    return r;            }

字典树   

曾经做过的一道题   

 

构造一个结构体 , 该结构体 应该有   所有指向下一排所有元素的指针域 ,  还应该有  该节点 必要的信息  

1 struct node 2 { 3     int number;         //  该节点作为 尾节点的次数  4     node next[26];   //   和  剩下的  指针域   5 }; 6 int Insert(char *a,node *t) 7 { 8     node *p,*q; 9     int id,i,j,l;10     p=t;   //  已经开了空间11     l=strlen(a);12     for(i=0;i
next[id]==NULL) //如果 没有 这个线段的话16 {17 q=(node *)malloc(sizeof(node));18 q->sum=0;19 for(j=0;j<26;j++)20 q->next[j]=NULL;21 p->next[id]=q; // 建立线段 . 线段 的 另一端 已经设置好了.22 }23 p=p->next[id];24 }25 (p->sum)++;26 return p->sum;27 }

欧拉回路 :

无向图存在欧拉通路 , 当且仅当改图为连通图 , 而且仅有 0 或 2 个奇数度节点   ( 不可能是 1 )  , 当有0个奇数度节点的时候为回路 , 有两个的是个为通路 .

有向图存在欧拉回路 , 当且仅当该图联通 , 且每个节点的入度 等于出度  . 

有向图存在欧拉通路 , 当且仅当该图连同 除了两个节点以外的的每个节点的入度等于出度 , 在这两个节点中一个入度比出度大一 , 一个出度比入度大一(起点) . 

可以用 并查集检查是否为 图是否连同

 KMP算法( 俗称看毛片算法 )  : 

 

转载于:https://www.cnblogs.com/A-FM/p/5352116.html

你可能感兴趣的文章
Linux下ftp和ssh详解
查看>>
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>
解决Eclipse中新建jsp文件ISO8859-1 编码问题
查看>>
7.对象创建型模式-总结
查看>>
【论文阅读】Classification of breast cancer histology images using transfer learning
查看>>
移动端处理图片懒加载
查看>>
jQuery.on() 函数详解
查看>>
谈缓存和Redis
查看>>
【转】百度地图api,根据多点注标坐标范围计算地图缩放级别zoom自适应地图
查看>>
用户调研(补)
查看>>
ExtJS之开篇:我来了
查看>>
☆1018
查看>>
oracle 去掉空格
查看>>
6.13心得
查看>>