码迷,mamicode.com
首页 >  
搜索关键字:模式串    ( 684个结果
BZOJ3670 [Noi2014]动物园
哇,你造吗。。。蒟蒻当年NOI这道题。。。可是拿了0分哦~(废话这么多,你弱怪我啊!)我们先kmp一次,记录下next数组及cnt数组,其中cnt表示他前面可以匹配的模式串个数。然后在类似kmp的做一次,记录下Next数组,Next == next + 长度限制。于是。。。ans = Π (cnt[...
分类:其他好文   时间:2014-12-01 20:42:35    阅读次数:240
HNU 13108 Just Another Knapsack Problem DP + Trie树优化
题意: 给你一个文本串,和一些模式串,每个模式串都有一个价值,让你选一些模式串来组成文本串,使获得的价值最大。每个模式串不止能用一次。思路: 多重背包,枚举文本串的每个位置和模式串,把该模式串拼接在当前位置,看下一个位置是否能得到更优值。但是,存在很多模式串不能拼在当前位置的,无效状态。所以可以.....
分类:其他好文   时间:2014-12-01 19:00:36    阅读次数:228
【AC自动机+DP】HNU 13108 Just Another Knapsack Problem
通道:http://acm.hnu.cn/online/?action=problem&type=show&id=13108&courseid=296题意:N个匹配串及权值,求完全匹配模式串的最大值。思路:建AC自动机,dp[i]到达i的最大值,dp[i]=max(dp[i-L]+W);代码:htt...
分类:其他好文   时间:2014-11-29 15:52:34    阅读次数:169
[AC自动机]HDOJ3695 Computer Virus on Planet Pandora
题意:给t、n,t个案例,n个字符串 下面给n+1个字符串,n个互不相同的小串,最后一个是模式串 模式串会出现[qx]的形式,q为数字,x为一个字母问n个小串在模式串中出现的个数,正着出现、反着出现都算。蛮裸的ac自动机,本来想着在query里面把找到过的end清零,把模式串展开正着反着找两遍,.....
分类:Web程序   时间:2014-11-25 00:03:45    阅读次数:267
HDU 2825 Wireless Password (AC自动机,DP)
题意: 给出m个模式串,要求构造一长度为n的文本串,至少包括k种模式串,求有多少种可能的模式串。 分析: m个模式串构建AC自动机,然后要在这AC自动机中走n步,至少经过k个单词结点。因为m<=10,显然可以用状压表示已经有哪几个单词结点。用dp[i][j][k]表示走了i步到AC自动机中的第j个结点,单词状态为k,由计数原理可推出状态转移方程:dp[i][j][k]=sum(dp[i-1][last_j][last_k]),last_j表示可以抵达第j个结点的上一个结点,last_k表示上一步的状态;因为...
分类:其他好文   时间:2014-11-20 12:01:10    阅读次数:242
HDU 2087 (KMP不可重叠的匹配) 花布条
题意:用两个字符串分别表示布条和图案,问能从该布条上剪出多少这样的图案。分析:毫无疑问这也是用KMP匹配,关键是一次匹配完成后,模式串应该向后滑动多少。和上一题 HDU 1686 不同,两个图案肯定不能在母串中有交叉的部分,所以当匹配成功一次后,应当滑动整个模式串的长度。和上一题比,代码几乎不变,只...
分类:其他好文   时间:2014-11-20 06:52:11    阅读次数:333
HDU 1686 (KMP模式串出现的次数) Oulipo
题意:求模式串W在母串T中出现的次数,各个匹配串中允许有重叠的部分。分析:一开始想不清楚当一次匹配完成时该怎么办,我还SB地让i回溯到某个位置上去。后来仔细想想,完全不用,直接让模式串向前滑动,即 j = next[j] 1 #include 2 #include 3 #include 4 ...
分类:其他好文   时间:2014-11-20 06:49:46    阅读次数:186
8592 KMP算法
8592 KMP算法 时间限制:1000MS  内存限制:1000K 题型: 编程题   语言: 无限制 描述 用KMP算法对主串和模式串进行模式匹配。本题目给出部分代码,请补全内容。 #include "stdio.h" #include "stdlib.h" #include "iostream.h" #define TRUE...
分类:编程语言   时间:2014-11-19 22:19:25    阅读次数:384
KMP求模式串在原串中出现的次数
#include #include #define maxn 10010 int next[maxn]; char str[maxn], buf[maxn * 100]; void getNext() { int i = 0, j = -1; next[i] = j; while(str[i]) { if(j == -1 || str[i] == str[j]) { ++...
分类:其他好文   时间:2014-11-19 22:16:01    阅读次数:176
POJ 3691 & HDU 2457 DNA repair (AC自动机,DP)
题意: 给出N个模式串和一个文本串,问最少修改文本串中多少个字母使得文本串中不包含模式串。 分析: N个模式串构建AC自动机,然后文本串在AC自动机中走,其中单词结点不可达。 用dp[i][j]表示文本串第i个字母转移到AC自动机第j个结点最少修改字母的个数,状态转移方程为dp[i][j]=min(dp[i][j],dp[i-1][last]+add),last表示j的前趋,add为当前点是否修改。由于第i个只和第i-1个有关,所以可以使用滚动数组来优化空间。...
分类:其他好文   时间:2014-11-18 13:33:10    阅读次数:203
684条   上一页 1 ... 57 58 59 60 61 ... 69 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!