
字符串
文章平均质量分 57
Cai-Crayon
https://github.com/ZhuoZhuoCrayon
展开
-
字符串处理之简单计算器
这道题分解出来,首先是分离运算符和数字,然后考虑运算顺序求结果。1.分离运算符和数字1)由题意,输入是浮点数,用到atof,如下。头文件:#include 定义函数:double atof(const char *nptr);函数说明:atof()会扫描参数nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参原创 2018-01-17 22:23:56 · 3642 阅读 · 0 评论 -
vector/map-OpenJudge-统计字符数
Vector/Map-OpenJudge-统计字符数 题目链接: 6:统计字符数 思路: 在统计单词,字符方面,map有得天独厚的优势,不过有点烦,map的排序是按照key值排的,又没有自定义排序,所以只能用vector把map中所有的pair搬过来排序 代码: #include<iostream>#include<algorithm>...原创 2018-08-30 18:25:40 · 552 阅读 · 0 评论 -
OpenJudge-去除C程序中的注释
OpenJudge-去除C程序中的注释 题目链接: 2:去除C程序中的注释 思路: 注释方式只有一种: /* ..... */ 且不能嵌套注释所以分三种情况:1.当前字符不在注释或字符串中,如果不是注释或字符串标记符,直接输出,否则改变状态(注释中/字符串中)2.字符在注释中:检查字符是否能构成 ” */ “ ,如果是,注释状态解除,否则...原创 2018-08-29 16:21:04 · 1536 阅读 · 0 评论 -
二维KMP-OpenJudge-挤奶网格
二维KMP-OpenJudge-挤奶网格 题目链接: 挤奶网格 思路: 题目大意:给一个二维字符串数组,求能覆盖得到该数组的最小面积题解:求最小覆盖面积,类似一维KMP求最长覆盖串(Len-Next【Len】)对原字符矩阵每一行进行KMP,求出行的覆盖度转置后求列覆盖度覆盖度=Len-Next[Len]覆盖度乘积为所求 代码: #i...原创 2018-08-29 16:00:59 · 885 阅读 · 0 评论 -
OpenJudge-合格的字符串
OpenJudge-合格的字符串 题目链接:1:合格的字符串代码:#include<iostream> #include<string>#include<cmath>using namespace std;int main(){ string *Answer; string Request; int num, begin, e...原创 2018-08-29 15:46:42 · 1045 阅读 · 0 评论 -
字符串-POJ/UVA 486-English-Number Translator(英语数字转换器)
字符串-POJ/UVA 486-English-Number Translator(英语数字转换器) 题目链接:5:英语数字转换器 思路: 有中文题目不讲大意这道题会卡人的就是奇葩的英语表示数字大小,外国million下来直接就thousand,所以会出现million和thousand之间隔着个--nine hundred ninty nine ,其实无非就三种情况...原创 2018-08-21 22:56:29 · 665 阅读 · 0 评论 -
CodeForces 1027A-Palindromic Twist
CodeForces 1027A-Palindromic Twist 题目链接: A. Palindromic Twist 思路: 题目大意:给定一个长度为n的字符串,规定每个字符可以转变为相邻字符 ,比如 c->b,c->d,当然z只能变成y,a只能变成b,要求字符串中每个字符都必须转变一次,能否变成回文字符串(左右读都一样)题解:很高兴 a z...原创 2018-08-28 14:47:40 · 351 阅读 · 0 评论 -
KMP-Codeforces 1029A-Many Equal Substrings
KMP-Codeforces 1029A-Many Equal Substrings 题目链接: A. Many Equal Substrings 题目基础: 串的模式匹配算法-KMP算法 思路: 题目大意:给一个长度为n的字符串t,求一个最短长度串,使得有k个位置,满足s[i…i+n−1]=ts[i…i+n−1]=t题解:其实就是求最长后缀,最长后...原创 2018-08-27 00:48:14 · 300 阅读 · 0 评论 -
POJ 938/UVA 10340-All in All(全在其中)
POJ 938/UVA 10340-All in All(全在其中) 题目链接:10340 - All in All 思路: 题目大意是给两个字符串s t,如果t是在s的基础上插入若干个其他字符串,输出Yes,否则输出No只要s的字符全部出现在t中,t就是符合要求的字符串更正:图中-如果t分别在s中 改为--如果s分别在t中 代码: #inclu...原创 2018-08-13 11:45:31 · 391 阅读 · 0 评论 -
KMP-(POJ 2406)Power Strings[字符串乘方]
KMP-(POJ 2406)Power Strings[字符串乘方] 题目链接:Power Strings 思路:最小循环节 看到乘方,很明显是求给定字符串由它的最小循环子串循环得到的次数那就是求出NEXT数组,再而求出最小循环节长度:Len-NEXT[Len]有三种情况,分两类①给定字符串循环子串是其本身:乘方等于1 a.NEXT[Len]...原创 2018-08-09 11:21:37 · 620 阅读 · 0 评论 -
KMP-(HDU1358)Period[前缀中的周期]
KMP-(HDU1358)Period 题目链接:9:前缀中的周期 KMP基础: 给个传送门复习下KMP:串的模式匹配算法-KMP算法 思路: 给定Next[i],Next[i]指向的总是上一循环节后面的一个字符,所以上一循环节末尾为Next[i]-1当前循环节的末尾为i-1,易得当前循环节长度:(i-1)-(Next[i]-1)=i-Next[i]由题...原创 2018-08-04 20:12:04 · 610 阅读 · 0 评论 -
KMP-(POJ 2752)Seek the Name, Seek the Fame
KMP-(POJ 2752)Seek the Name, Seek the Fame 题目链接:11:Seek the Name, Seek the Fame 基础: KMP算法 给个传送门,分享下KMP: 串的模式匹配算法-KMP算法 思路: 题目要求的是所有能与给定串的前缀和后缀相匹配的子串长度而规律是从Next数组后往前递归,求得最大符合要求...原创 2018-08-04 13:23:41 · 318 阅读 · 0 评论 -
串的模式匹配算法-BF(Brute-Force)算法
Bruce-Force算法 1.思路: 简单暴力的一个算法,如果遇到字符不匹配,主串i指针回溯到本次匹配位置的下一个位置,而模式串则重新回到0(开始的位置),开始下一轮的匹配。 成功匹配的条件自然事模式串指针j走到头,也就是j=length-1,length为模式串长度。跳出循环表示为j=length 2.算法复杂度 O(n*m...原创 2018-05-20 21:12:46 · 2036 阅读 · 0 评论 -
串的模式匹配算法-KMP算法
KMP算法1.开挂传送门:点击打开链接 这个算法理解起来有点难受,建议看下简单的串模式匹配算法 BF算法 刷下经验,如上链接。2.优化匹配算法: 相比于Brute-Force(BF算法),每当一趟匹配出现字符不等时,不需要回溯i指针(目标串指针),并且模式串指针j将从已经得到的部分匹配模式尽可能后移,从而降低时间消耗。3.时间复杂度: O(n+m)(BF算...原创 2018-05-20 20:40:03 · 1206 阅读 · 0 评论 -
逆波兰表达式(STL-栈stack实现)
一、普及逆波兰表达式逆波兰表达式:后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个对象之间,这是中缀表达式,而逆波兰表达式是每一运算符都置于其运算对象之后,所以称为后缀表达式。举例:中缀(正常):8*4+1 后缀:8 4 * 1 +暂停!翻下老本 1)关于栈: 暂时博客里写了一篇对STL——Stack的介绍,传送门:点击打开链接 2)关于字符...原创 2018-04-14 22:16:53 · 1179 阅读 · 0 评论 -
POJ 1298-The Hardest Problem Ever(Caesar 密码)
POJ 1298-The Hardest Problem Ever(Caesar 密码) 题目链接: The Hardest Problem Ever 思路: 题目大意:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的给定翻译后的消息,求原始信息题解:...原创 2018-08-30 18:25:18 · 530 阅读 · 0 评论