掌握了数据结构和算法才能够写出性能更优的代码。而看待问题的深度,解决问题的角度就会完全不一样。 数据结构 数组 链表 栈 队列 散列表 堆 二叉树 图 Trie树 跳表 一些常见算法 递归 排序 搜索 二分查找 哈希算法 贪心算法 分治算法 回溯算法 动态规划 字符串匹配算法 摆脱CRUD boy, ...
分类:
编程语言 时间:
2019-09-12 18:37:01
阅读次数:
106
题意 找到一个字符串中最先出现的最小(大)表示位置,和最小(大)表示串出现次数 分析 用最小(大)表示法求出最先出现的最小(大)表示位置,然后将串长扩两倍用exkmp找出现次数。 Code c++ include define fi first define se second define lso ...
分类:
其他好文 时间:
2019-09-10 09:11:47
阅读次数:
92
1、HDU3374 String Problem KMP+最小表示法 ** 大致题意:求出给定字符串的最小表示和最大表示以及出现次数 思路:环状字符串某一链状字符串出现的次数为循环节个数,用Next数组求解。然后是字符串的最大表示法和最小表示法。 AC代码: 1 #include<iostream> ...
分类:
其他好文 时间:
2019-09-08 00:08:18
阅读次数:
92
Algorithm Task 给定一个文本串 $S$ 和一个模式串 $T$,求 $T$ 在 $S$ 中出现的所有位置。 Limitations 要求时空复杂度均为线性。 Solution 回头重新学一遍~~看毛片~~ KMP 算法。 设 $X$ 是一个字符串,则以下表述中,$X_u$ 代表 $X$ ...
分类:
其他好文 时间:
2019-09-04 09:21:49
阅读次数:
72
题意略。 思路: 这算是个铜牌题吧。思路是kmp+栈(类似于单调栈的那种想法),每个字符串进栈说明当前的栈是空栈,或者说该字符串在与栈顶元素比较时, 碰到了之前的不是它字串的字符串。 我们从前往后遍历这些字符串, 如果栈顶字符串是它的字串,那么我就弹出栈顶元素,继续比较。 如果栈顶字符串不是它的字符 ...
分类:
其他好文 时间:
2019-09-03 22:30:12
阅读次数:
98
2019暑假集训7.15-8.23 今年大一下学期整个暑假基本上是了解学习了dp、动态规划、线段树、树状数组、贪心、搜索、背包问题、记忆化搜索、欧拉回路、最大流、最短路、最小生成树、二叉搜索树、kmp、数论、、马拉车等,感觉每天在敲代码,可是整体看下来学的东西很少,但是谢谢题目又是好久才能写出一道题 ...
分类:
其他好文 时间:
2019-09-02 00:15:30
阅读次数:
153
题目大意 给你一个字符串,求它的一个子串使得这个子串即使前缀又是后缀又出现在不是前缀且不是后缀的地方 分析 扩展kmp就是定义z[i]表示i~n的子串与整个串的最长公共前缀的长度是z[i] 所以这个题就是找到一个位置使得z[i]=n-i+1 这样保证了是前缀和后缀 然后再判断之前是否有一个z[j]= ...
分类:
其他好文 时间:
2019-09-01 11:04:06
阅读次数:
94
原文:https://blog.csdn.net/qq_29384639/article/details/97150340 解释:db.RegExp 从基础库 2.3.2 开始(wx-server-sdk 从 0.0.23 开始),数据库支持正则表达式查询,开发者可以在查询语句中使用 JavaScr ...
分类:
微信 时间:
2019-08-31 19:31:27
阅读次数:
460
KMP算法是一种高效的字符串匹配算法。 KMP算法的特点是给定一个主串,给定一个匹配串,问匹配串在主串中出现的次数,匹配串在主串中出现的位置等。 首先我们先看一种暴力的方法——按位对比,若匹配失败从头再来。 我们用两个指针,一个指针i指在主串,一个指针j指在匹配串, 如果s1[i+1]!=s2[j+ ...
分类:
编程语言 时间:
2019-08-29 20:04:57
阅读次数:
115
https://www.jianshu.com/p/d4cf13b32111 https://blog.csdn.net/v_JULY_v/article/details/7041827 ...
分类:
编程语言 时间:
2019-08-29 15:33:00
阅读次数:
72