![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 64
ren_hui
每天早上醒来你荷包里的最大资产是24个小时你生命宇宙中尚未制造的材料
展开
-
单调栈的一些应用
1、何为单调栈:顾名思义,栈中的元素是按照某种方式排列,但是必须是单调的,如果某元素破坏了栈的单调性,就弹出栈的元素,直到该元素满足栈的单调性为止。2、用途:可以很方便的求出某元素左边或右边第一个比其大或者小的元素,且时间复杂度O(n); hm 与 zx系列故事题目链接训练赛的时候没能够做出来,自己当时根本就不知到什么是单调栈,更别说应用了,平时应该多多的积累一些知识点,遇到不...原创 2013-12-01 22:09:05 · 208 阅读 · 0 评论 -
poj 3461 && hdu 1686 Oulipo (kmp)
题目链接:http://poj.org/problem?id=3461 解题报告:字符串匹配关键是next数组不好理解。 参考资料写道(1)next[0]= -1 意义:任何串的第一个字符的模式值规定为-1。(2)next[j]= -1 意义:模式串T中下标为j的字符,如果与首字符相同,且j的前面的1—k个字符与开头的1—k个字符不等(或者相等但T[k]==T[j])(1≤...2013-08-13 22:03:03 · 84 阅读 · 0 评论 -
hdu 1711 Number Sequence ( KMP算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 解题报告:一道比较简单的kmp题目,还是很佩服当初发明者个算法的一群人,怎么想到的next数组的写法,让我们这帮菜鸟反复理解其含义。不知道为什么这么写,但我们至少要理解next的含义。 首先:next[0]=-1 ,是我们规定的每个串的第一个值为-1; 其次: nex...原创 2013-08-16 19:08:25 · 91 阅读 · 0 评论 -
hdu 3336 Count the string (KMP算法)
http://acm.hdu.edu.cn/showproblem.php?pid=3336 解题报告:刚开始用的是暴力的方法,就是每次往next数组中加一个元素,然后再在整个数组中进行查找,虽然加了很多的优化,但是还是无限的TLE中。(拒绝暴力,另寻他路)。直接用next数组的意义,不过这次的求解next的方法与上次有些不同,暂且叫作方法二吧: void get_next...2013-08-17 11:00:06 · 69 阅读 · 0 评论 -
hdu 2203 亲和串 (KMP算法)
http://acm.hdu.edu.cn/showproblem.php?pid=2203 解题报告:由题目:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。移位循环,最多多循环循环一个s1的长度,因此我们可以把s1中的前n-1位直接添加到s1的后面,如s1=AABCD,可以变为s1=AABCDAABC,这样就包含了所有的情...2013-08-17 15:41:38 · 106 阅读 · 0 评论 -
hdu 1358 Period ((KMP算法)求循环节的个数)
题目链接 题意是求前n个数的循环节的个数:例如:aabaabaabaab中 ,前2个字符aa,循环节为a, 所以为2 2;前6 个 字符循环节为aab, 所以为6 2;前9个 字符循环节为aab, 所以为9 3;前12 个 字符循环节为aab,所以为12 4; 关键是如何求循环节,首先还要熟悉next数组的意思,next[j]=k,表示j前面k个元素与...原创 2013-08-18 11:46:12 · 176 阅读 · 0 评论 -
poj 3264 Balanced Lineup (线段树)
题目链接 解题报告:线段树的入门题目,这里只需要两种操作“建树”、“查询”。 线段树解题的关键是节点存放的信息 #include <cstdio>#include<cstring>#include<algorithm>#define max(a,b) a>b?a:b#define min(a,b) a<b?...2013-08-20 09:44:58 · 70 阅读 · 0 评论 -
ZOJ 2193 Window Pains AOV网络
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1193 结题报告:本次代码写的比较乱,但是感觉收获还是不小的第一次完全靠自己手写邻接表,虽然调了两天,但是最终还是搞出来了首先4*4方格中每个方格可能出现的数字11,22,331,41,2,4,52,3,5,63...2013-10-15 19:43:36 · 543 阅读 · 0 评论