1. 字符串的一些特点 1.1 广泛性 (1)字符串可以看作是字符类型的数组 >所以可能会涉及排序+查找; (2)很多问题都可以转化为字符串类型的方法去解决; 需要注意的是:用java语言实现字符串类型的题目的时候,需要掌握StringBuffer、StringBuilder类和toCharArra ...
分类:
编程语言 时间:
2018-01-27 11:35:05
阅读次数:
137
已经写好啦的 "莫比乌斯反演" "杜教筛" "动态点分治" "斜率优化" "Splay" "莫队" "凸包" "旋转卡壳" "Manacher算法" "Trie树" "AC自动机" "高斯消元" "KMP算法" 可以填的坑 [CF???] [Link Cut Tree] [树链剖分] ~~要我填坑就 ...
分类:
其他好文 时间:
2018-01-20 17:52:50
阅读次数:
131
下图是一个稀疏表示模型 1.稀疏系数: 最右边的α, 白色小格子表示0,有色小格子表示非0数(0,1),稀疏的意思就是非零系数很少。 2.字典:相信大家在做科研的时候,应该都听说过字典Dictionary,那什么是字典呢?字典,从名称来看,可以用来查询的字典,那查询什么呢?查询(或者叫匹配)字典当中 ...
分类:
其他好文 时间:
2017-11-19 13:36:45
阅读次数:
173
next数组的求解方法是:第一位的next值为0,第二位的next值为1。后面求解每一位的next值时,根据前一位进行比较。首先将前一位与其next值对应的内容进行比较,如果相等,则该位的next值就是前一位的next值加上1;如果不等,向前继续寻找next值对应的内容来与前一位进行比较,直到找到某 ...
分类:
编程语言 时间:
2017-11-19 13:34:06
阅读次数:
144
当时一直就没有理解QAQ,觉得会hash就够了,但是想到fail数组有很多神奇的妙用,于是来填这个坑 先讲MP算法: 我就直接说fail数组的含义吧(从0开始字符串下标): fail[i]表示0~i-1这个串的最长border的长度,同时也是重新开始匹配的将要匹配的那个位置下标。 举个小栗子:对于字 ...
分类:
编程语言 时间:
2017-11-04 19:38:32
阅读次数:
260
虽然noip很少有单独把一些关于字符串的算法拉出来考,但是一定的练习也是必要的23333333333,至少要把板子打一遍吧2333333333333 这个题是一个裸到不能再裸的kmp,算是开始?233333 ...
分类:
其他好文 时间:
2017-10-22 16:59:19
阅读次数:
140
#include using namespace std; int fail[1005]; void getline(string &str){ char c=getchar(); while(c=='\n'||c=='\r')c=getchar(); while(c!='\n'&&c!='\r')... ...
分类:
编程语言 时间:
2017-09-10 18:53:13
阅读次数:
152
扩展KMP算法 什么是扩展KMP? 扩展kmp是求模式串和主串的每个后缀的最长公共前缀长度。扩展KMP算法是利用前面的已知条件降低多余匹配,达到缩短时间的算法。 扩展KMP算法目的是得到next数组和extend数组。next[ i ] 表示的是从自己的第i位開始。模式串T与自己匹配的字符个数。ex ...
分类:
编程语言 时间:
2017-08-19 16:54:39
阅读次数:
165
Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], ...... , b[M] (1 <= M <= 10000, 1 <= N <= 1000000). Your task is to find a ...
分类:
编程语言 时间:
2017-08-02 21:05:46
阅读次数:
161
Description 求子串的next值,用next数组存放,所有输出 Input 输入一个字符串 Output 输出全部next值 Sample Input abaabcac Sample Output 0 1 1 2 2 3 1 2 代码 #include<iostream> #include ...
分类:
其他好文 时间:
2017-07-27 13:30:17
阅读次数:
154