2 lee_happycpp

尚未进行身份认证

暂无相关简介

等级
TA的排名 57w+

我的题解(3)-求最小循环节(KMP,POJ2406)

    KMP(烤馍片)算法想必大家都会吧,这次让我们来做一道题——求最小循环节。     先上题,题目大意是这样的(我对原题进行了一些改动):给你一个字符串s(|s|≤1,000,000),求其最小循环节。最小循环节指有一s的子串a,s=aaa...a,也就是共n个a可顺序拼成原串s(原题是说s=a^n)。    样例:    1.abcd 最小循环节为其本身    2.aa...

2018-05-02 19:36:37

我的题解(2)-病毒

先上题:题目描述二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。示例:例如如果{011, 11, 00000}为病毒代码段,那么一个可能的无限长安全代码就是010101…。如果{01, 11, 000000}为病毒代码段,那...

2018-03-06 21:36:49

并查集精讲

今天讲讲并查集:首先,我们来看看并查集的原始思路:所谓并查集,由并(union),查(find),集(set)三部分构成。适用于较大数据、复杂关系的题目,如:给你许多关系,每行两数M a b,代表两人是亲戚;或Q a b,问两人是否是亲戚?如果数据大的话,暴力就不行了。所以我们用到并查集。(我作为一个吃货,特别爱叫它 饼查集)并查集是树形结构,它是一种有向图,无环。例如:

2018-01-19 21:06:28

我的题解(1)-最大连续和

这次给大家讲道题,废话不多说,上题:题目描述一个长度为n数组A的最大连续和,是指所有满足1≤L≤R≤n的L和R中A[L]+A[L+1]+...+A[R]的最大值。一次交换操作是指:(1) 选择两个下标i和j(i ≠ j)(2)进行赋值,tmp=A[i];A[i]=A[j],A[j]=tmp;给定一个长度为n的数字,最多进行m次交换操作后,该数组的最大连续和。

2018-01-05 18:30:07

做基础动态规划题目的方法

一般在各类比赛,如NOIP中,动态规划题非常普遍,那么怎么做动态规划题呢?首先建议不要套公式,要在理解的基础上自己总结公式。1.大部分动态规划可以写成记忆化搜索,如分治。如果不会写动规,可以试试记忆化;2.首先写动规需要明确状态:一个数组f[i][j],明确f[i][j]代表什么;3.思考转移:如01背包,转移应是:f[j]=f[j-w[i]]+c[i],也就是应该用什么公式;4.明确起点与目标:起点可以理解成初始化,如f[0]=0;目标就是结果,如f[n]。这里常用一种方法叫填表,也就是模拟

2017-12-07 21:08:41
勋章 我的勋章
    暂无奖章