
字符串处理
文章平均质量分 70
力铭君
因为无知与恐惧所以人类才渴望上帝,但这同时也是一切善的源头
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
manacher算法
一种很有趣的算法,为什么这么说呢,因为它的预处理很巧妙。它通常是用来求一个字符串的回文串的长度的。下面介绍一下它的大致思路。(先介绍思路再说为什么会有这种思路)1.特殊处理字符串,把字符串的所有字符用一个没有出现过的标识隔开,并特殊标识字符串的头:如aabb\0处理后就可以为$#a#a#b#b#\0如aabaa\0处理后就可以为$#a#a#b#a#a#\0for(int i=strlen(s);i...原创 2016-12-09 19:46:16 · 434 阅读 · 0 评论 -
51nod N的阶乘
奇妙的思路,为什么这么说呢?因为通常我们是怎么考虑大数的呢?转化成字符串进行操作,但事实上这样考虑很复杂的并且很长...... 代码越短越迷人啊,于是我就在考虑为什么不能简单一些呢? 于是有了以下思路: 1.开一个int型数组,num[i]储存的是结果的第i位,然后操作起来特别方便。 然后.......超时...... 于是看了人家的思路,改了一下,思路如下:原创 2016-11-27 13:27:49 · 285 阅读 · 0 评论 -
51nod 1027 大数乘法
代码啊,还是越短越好看 #include #include #include using namespace std; int main(){ char s1[1005],s2[1005]; int ans[3000]; memset(ans,0,sizeof(ans)); scanf("%s%s",s1,s2); int l1=strlen(s1)原创 2016-11-08 13:31:36 · 336 阅读 · 0 评论 -
uva 10391 Compound Words
这题还是很有意思的,wa了两三次,都是忽略了一些特殊情况,下面附上思路和代码和几个测试数据(数据自己写的) 思路: 任意一个单词(假设它为abcde)都有可能被任意组合出来(如a和bcde 或者ab和cde),此时就需要一个循环把所有的组合情况找出来,然后判断是否存在两个小组和能组合成这个大单词,如果此时用一个12万的循环那么一定是会超时的(12万*12万复杂度太高)。因此需要用map或者哈希原创 2016-07-16 18:22:58 · 465 阅读 · 0 评论 -
hdu 4787 GRE Words Revenge(在线AC自动机)
在线ac自动机:#include #include #include #include #include #include #include #include #include #include using namespace std; #define lson l, m, rt << 1 #define rson m + 1, r, rt << 1 | 1 #define转载 2017-05-03 11:26:19 · 356 阅读 · 0 评论