字符串
文章平均质量分 53
傻蛋的阿简
我,会骗人的江湖骗子
展开
-
Codeforces 798B 字符串暴力
传送门:题目题意:给n个字符串,每个字符串都可以做一个操作:字符串的第一位移到字符串的末尾,剩下的字符向前进一位,问最少做多少次操作,所有字符串能相等。题解:第一开始我想到的是纯模拟,模拟字符串向前移动的过程,然后n2n2n^2搜索最优解,不知不觉写了5个for循环,算了一下复杂度505=109505=10950^5=10^9,心想肯定T了,然后交了一下,看看能不能卡过去,竟然...原创 2018-08-21 14:19:51 · 313 阅读 · 0 评论 -
LeetCode 14 Longest Common Prefix最长公共前缀LCA 暴力 C++实现
传送门:题目暴力就好,朴素字符串大法好AC代码:#include <iostream>using namespace std;#define INF 0x3f3f3f3fclass Solution {public: string longestCommonPrefix(vector<string>& strs) { ...原创 2018-08-11 15:48:07 · 204 阅读 · 0 评论 -
POJ 2725 KMP的next数组
传送门:题目题解:纯KMP,考的就是KMP中next数组的具体含义。 如果不理解next,可以参考这篇博客:KMP中next数组含义AC代码:#include <iostream>#include <cstring>#include <cstdio>#define INF 0x3f3f3f3fusing namespace st...原创 2018-08-11 15:45:14 · 183 阅读 · 0 评论 -
HDU 3336 KMP的next数组
传送门:题目题解:纯KMP,考的就是KMP中next数组的具体含义。 如果不理解next,可以参考这篇博客:KMP中next数组含义AC代码:#include <iostream>#include <cstring>#include <cstdio>#define INF 0x3f3f3f3f#define MOD 10007...原创 2018-08-11 15:32:35 · 147 阅读 · 0 评论 -
HDU 2594 KMP的next数组
传送门:题目题解:纯KMP,考的就是KMP中next数组的具体含义。 如果不理解next,可以参考这篇博客:KMP中next数组含义AC代码:#include <iostream>#include <cstring>#include <cstdio>#define debug(x) cout<<#x<<" ...原创 2018-08-11 15:27:59 · 132 阅读 · 0 评论 -
POJ 2185 KMP 二维字符串找最短循环矩阵
主要思想就是降维处理。相似题目:HDU 3746:一维字符串找最短循环节,这道题是HDU3746的升级版,增加了一个维度。题意:一个字符矩阵看成一个地面,然后把最短循环矩阵看成瓷砖,需要铺满地面,地面的边缘部分,瓷砖可以残缺。题解:我们不防把最短循环矩阵拆分成,行的最短循环节,列的最短循环节。还是直接举例子吧,比较清楚些。 A B A ...原创 2018-08-11 15:14:54 · 281 阅读 · 0 评论 -
HDU 3746 KMP 一维字符串找循环节
传送门:题目题意:给一个字符串,找到它的最短循环节,比如说ababab,那么最短循环节是ab,然后题目说有的循环节是残缺的,让我们求残缺部分的长度,比如说abcdab,循环节是abcd,然后ab部分残缺,残缺部分长度为2,我们输出2。注意:循环节至少有两个,比如说abcde,我们要输出5,补一个完整的循环节。题解: 扩展KMP中的next可以帮助我们找到最短循环节,我们...原创 2018-08-11 15:07:52 · 407 阅读 · 0 评论 -
字符串Hash + 树上DFS
题目来源: 2018年长沙理工大学ACM省赛选拔赛 2018年8月7日题意: dr所在国度的有个奇怪的规定:他们的字母不是a~z,而是用1~1000表示。 利用这个奇怪的规定,dr想出了一个好玩的游戏:首先给出n个字符串(当然每个字符用1~1000表示),然后给出有m个节点的树,节点编号1~m,这棵树以1号节点为根,每个节点都包含一个字符。现在要求用从根节点到其他...原创 2018-08-11 00:45:18 · 212 阅读 · 0 评论 -
BZOJ 3555 字符串hash
学习hash刷的第一道题,简单记录一下hash的思路。传送门:题目题意: 给定n个字符串,比较任意两个字符串,如果两个字符串在同一个位置,有且只有一个不同,结果+1,最后输出结果。题解:如果我们不用hash,简单思路就是比较任意两个字符串(时间复杂度: \frac{n*(n-1)}{2}, 从左往右扫一遍 (时间复杂度:len)如果只有一个不同,结果+1。可想,...原创 2018-08-11 00:23:50 · 200 阅读 · 0 评论 -
HDU 5510 KMP + 降维处理
降维处理的过程参考了这篇博客:降维处理kmp套的是模板#include <iostream>#include <cstring>#include <cstdio>#define INF 0x3f3f3f3fusing namespace std;const int maxn = 510;const int maxl = 2010;c...原创 2018-08-06 20:54:30 · 133 阅读 · 0 评论 -
CCF 201803-3 大模拟
题意:给定两组字符串,匹配,大模拟就好了AC代码:#include <iostream>#include <cstring>using namespace std;bool solve(string str1, string str2, bool flag) { int index1 = 0, index2 = 0, len1 = str1....原创 2018-09-11 22:17:09 · 498 阅读 · 0 评论