![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
omont1010
这个作者很懒,什么都没留下…
展开
-
KMP算法——串的模式匹配算法
一、KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。二、KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。三、KMP算法的时间复杂度为O(m+n)。...原创 2020-04-07 10:34:25 · 434 阅读 · 0 评论 -
简单模式匹配算法——串的模式匹配
一、对一个串中的某子串的定位操作称为 串的模式匹配;二、模式串:待定位的子串三、基本思想:从主串中的第一个位置起和模式串的第一个字符开始比较如果相等,则继续比较后续字符; 如果不等,则从主串的第二个字符起,重新用上一步的方法与模式串中的字符作比较; 以此类推,直到比较完模式串的所有字符,则匹配成功,返回模式串在主串中的位置; 如果匹配不成功,则返回-1标记; //简单模式匹配...原创 2020-04-07 10:20:17 · 1593 阅读 · 1 评论 -
蓝桥杯——方格填数——dfs
题目信息:方格填数如图,如下的10个格子,填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。解题思路:BFS,先填数再判断若k<12:行数为k/4,列数为k%4,判断flag[r][c]是否可填,若可填,则遍历0-9找到vis[i]为空的方格,graph[r][c]=i,同时vis[i]...原创 2019-03-27 10:42:54 · 313 阅读 · 0 评论 -
并查集——判断图中是否存在回环
B站视频:详细算法解说构建一个parent数组,用来存储每个顶点对应的父亲结点,初始全部置为0,数组从1开始存储rank数组用来表示每个顶点对应的层次数,初始全部置为0;edge数组用来存储输入时的边find_root函数用来查询每个顶点对应的根结点:一直查询x_root的父亲结点,直到为0表示找到父亲结点,返回该点union_root函数用来连接两顶点对应的根结点:如果两顶点...原创 2019-03-01 20:53:35 · 476 阅读 · 0 评论 -
蓝桥杯——剪邮票——连通块
题目要求:剪邮票如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。解题思路:DFS,先找出五个点再判断是否符合题目要求建立一个map一维数组,同时重构该数组,确保一个点上...原创 2019-03-27 11:18:34 · 179 阅读 · 0 评论 -
博弈论初试
目录一、巴什博弈(Bash Game)二、威佐夫博奕(Wythoff Game)三、尼姆博奕(Nimm Game)四、SG函数一、巴什博弈(Bash Game)只有一堆n个物品,两个人轮流从这堆物品中取物,规 定每次至少取一个,最多取m个。最后取光者得胜。如果n=m+1,先取者只能取1~m个,所以不论先取者拿走多少个,后取者总能一次性拿走剩余物品。制胜法则为:令n=...转载 2019-04-25 21:36:41 · 211 阅读 · 0 评论