字符串
jchalex
善待人,严做事,无节操
展开
-
poj - 2774 - Long Long Message / hdu - 1403 - Longest Common Substring(后缀数组)
题意:输入2个长度不超过100000的字符串,问它们最长公共子串的长度。题目链接:http://poj.org/problem?id=2774——>>后缀数组!后缀数组!~从LJ的《训练指南》,到许智磊的论文+PPT,吉大的模版,学长的博客,这路还真不容易走。。。最后决定用LJ《训练指南》的写法,感觉挺精辟的。合并两个串,中间放一个特殊字符,根据条件(len为第一个串的长度,n为合原创 2013-08-27 01:23:09 · 1207 阅读 · 0 评论 -
LA - 5734(hdu - 4162) - Shape Number(指针扫描+贪心)
题意:8个方向,分别用0、1、2、3、4、5、6、7表示,用这些数字连成一个串就可表示一个回路图,方向2转到方向4要转2次,方向6转到方向4也要2次,给出一个回路图,求出字典序最小的转向串。题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&pro原创 2013-04-03 13:13:45 · 908 阅读 · 0 评论 -
LA - 4670 - Dominating Patterns(AC自动机)
题意:给出N个由小写字母组成的字符串pattern,再给出一个字符串file,问哪个pattern在file中出现的次数最多,输出最多的次数及按输入顺序输出出现次数最多的pattern(1 题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&cat原创 2013-08-21 11:44:00 · 767 阅读 · 0 评论 -
Uva - 10010 - Where's Waldorf?(暴力枚举)
题意:给出一个m x n的字符矩阵,给出k个字符串,求这个字符串的起始位置在图中坐标(方向要直,但可上、下、左、右、左上、左下、右上、右下8个方向, 1 题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=96&problem=951——>>原创 2013-07-13 11:14:50 · 790 阅读 · 0 评论 -
LA - 4513 - Stammering Aliens(Hash + 二分)
题意:给一个整数m和一个字符串,求该字符串中至少出现m次的子串的最大长度及最后一个字串的位置(m >= 1, 字符串长度在m和40000之间)。题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2514——>>第一道hash解原创 2013-10-09 13:35:54 · 1294 阅读 · 0 评论 -
hdu - 1251 - 统计难题(Trip)
题意:Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251——>>叫统计难题,其实是。。。。。。只需组织好Trip,并保存每个结点被单词经过的次数。。。询问时沿着Tri原创 2013-09-21 10:44:00 · 956 阅读 · 0 评论 -
poj - 3630 - Phone List(数组Trip)
题意:给出n个电话号码(仅由数字0-9组成),问是否存在一个号码是另一个号码的前缀(1 ≤ 测试组数t ≤ 40,1 ≤ n ≤ 10000)。题目链接:http://poj.org/problem?id=3630——>>做这题太无语啦。。。明明就只是一棵Trip,可直到比赛结束都是TLE,究其原因,太什么啦。。。指针写Trip。。。此题应用静态数组写Trip。。。#inclu原创 2013-09-21 10:36:30 · 986 阅读 · 0 评论 -
hdu - 3724 - Encoded Barcodes(Trip)
题意:有N个产品,名称由小写字母组成,有M个询问,每个询问先来一个K,再输入K个条形码,每个条形码代表1个小写字母,这K个条形码连成连续的K个字母作为前缀,统计这个前缀是多少个产品名的前缀(重复的算多次),输出M个询问的统计个数和(1 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3724——>>组织好Trip后,把条形码转换为小写字母(大于原创 2013-08-19 01:56:03 · 1076 阅读 · 0 评论 -
Uva - 12506 - Shortest Names(Trip)
题意:有n个由小写字母组成的名字,任何一个名字都不是另一个名字的前缀,对于每个名字,只取它的最短前缀,使得这n个取出来的前缀互不相同,问这些前缀的总字母个数(1 题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3950——>>看完题,想着这原创 2013-08-17 15:59:27 · 1056 阅读 · 0 评论 -
LA - 3026 - Period(KMP)
题意:求一个字符串每个前缀的最短循环节。题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=13&page=show_problem&problem=1027——>>第一道KMP题目……照汝佳的书敲下……#include using namespace原创 2013-03-26 02:01:38 · 824 阅读 · 0 评论 -
Uva - 10340 - All in All(指针扫描)
题意 :给出两个字符串s、t,问s是不是t的子串(不用连续)。题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=457&problem=1281——>>一个个扫描……感觉这次写得挺。。。#include #include usin原创 2013-07-31 15:02:59 · 998 阅读 · 0 评论 -
URAL - 1732 - Ministry of Truth(KMP)
题意:输入两行字符串,问能否从第一行字符串中减掉一些字符(变成空格,连续的空格又合为1个空格)变成第二行字符串(每行字符串的长度 题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1732——>>好想哭……如此题目,比赛5个小时,看到多模板,一直不敢下手敲KMP,认为是AC自动机或者后缀数组,还没敲完AC自动机比赛就Ended,过的队伍说用原创 2013-08-29 11:43:27 · 1150 阅读 · 0 评论 -
hdu - 2222 - Keywords Search(AC自动机)
题意:给出N个由小写字母组成的关键词,再给一个描述,问有多少个关键词在这个描述中出现(N 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222——>>AC自动机第一题。题目没说明描述是否都是小写字母,实践中以假设描述为小写字母可以AC。注意:关键词有重复!(因此而WA无数)RJ《训练指南》的写法:可能有多个last指向同一个原创 2013-08-20 22:09:01 · 688 阅读 · 0 评论 -
poj - 1002 - 487-3279(基数排序)
题意:问一些7位数(可能有前导0,可到达100000个)是否有重复,将重复的按字典序从小到大输出并输出重复次数,没有的话输出“No duplicates.”。题目链接:http://poj.org/problem?id=1002——>>本来题目很水的,在刷后缀数组,中间有个基数排序的东西,于是用基数排序来做这题。。。#include #include #include us原创 2013-10-08 22:35:25 · 1314 阅读 · 0 评论 -
poj - 1204 - Word Puzzles(AC自动机)
题意:给出一个L*C的大写字母矩阵,再给出W个由大写字母组成的单词,求这些单词在矩阵中出现的位置及方向(0 0 0 )。题目链接:http://poj.org/problem?id=1204——>>看到这题目,Sample好长啊~其实只是AC自动机。#include #include #include using namespace std;const int maxn原创 2013-08-29 22:28:02 · 753 阅读 · 0 评论 -
poj - 2001 - Shortest Prefixes(Trip)
题意:有若干个由小写字母组成的名字,对于每个名字,只取它的最短前缀,使得这些取出来的前缀互不相同,输出原名及取出的前缀(2 题目链接:http://poj.org/problem?id=2001——>>又一道前缀树Trip题目呀~设cnt[i]为第i个结点有多少个名字经过,那么,若cnt[i]为1,则表明只有1个名字经过,下面只表示1个人,输出每个前缀时到此停止;若cnt[i] > 1原创 2013-08-17 19:01:09 · 708 阅读 · 0 评论 -
hdu - 4662 - MU Puzzle(转化统计+整除性)
题意:问能否从字符串"MI"经过以下3种操作转化到一个给定的字符串:1、'M'后的字符串复制;2、'III'可变成'U';3、"UU"可删掉。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4662——>>统计‘I’的个数,1个‘U’转为3个‘I’,2的次方数减去‘I’的个数能否被6整除。#include #include usi原创 2013-08-09 17:14:44 · 1082 阅读 · 0 评论 -
poj - 2159 - Ancient Cipher(统计)
题意:输出两个等长度的字符串(每一个字符串的长度不超过100),问第一个字符串能否由第二个字符串经过字母变换和字母移位得到,以的话输出"YES",否则输出"NO"。题目链接:http://poj.org/problem?id=2159——>>曾经在Uva上做过和这道差不多的题目,思路也是一样的,很常用思路:统计字母出现的个数。1、两个字符串分别统计字母出现的次数;2、分别对次数进行原创 2013-08-31 23:38:58 · 1109 阅读 · 0 评论 -
hdu - 3460 - Ancient Printer(Trip)
题意:给出N个由小写字母组成的队名,用一台古老的打印机这些队名打印出来,问最少要敲几次键盘(队名之间不用按输入顺序),这台打印机只能执行以下3种操作:1.在现有基础上的末尾继续输入小写字母;2.删除最后一个字母;3.打印现有串。(1 ——>>组织好Trip,记录总结点数sz,每个结点到根结点的距离,得到距离根结点最远的结点的距离Max,那么答案为2 * sz + N - Max原创 2013-08-19 10:52:54 · 848 阅读 · 0 评论 -
sgu - 274 - Spam-filter(模拟)
题意:判断一个字符串是不是有效的邮件地址。题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=274——>>照着题目做。注意:1、输入有空格。2、测试的时候不要直接复制测试数据,手敲吧~(vjudge上的复制会多一个空格,sgu上的复制直接闪过去……)#include #include #include #includ原创 2013-08-04 10:12:20 · 1299 阅读 · 0 评论 -
poj - 1509 - Glass Beads(最小表示法)
题意:求一个字符串的最小表示的起始位置(字符串长度最大为10000)。题目链接:http://poj.org/problem?id=1509——>>很久以前就听过师兄说最小表示,今天看周源的《浅析“最小表示法”思想在字符串循环同构问题中的应用》,找了这题,与论文里描述的题目一样。。我觉得这个思想挺不错:一直维护着字典序较小的指针。。让另一个指针不断地缩小字典序。。直至成功或者失败结束。原创 2014-04-05 22:28:40 · 1196 阅读 · 0 评论