【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】题目:已知一个字符串,比方asderwsde,寻找当中的一个子字符串比方sde 的个数,假设没有返回0,有的话返回子字符串的个数题目分析:1、顺序遍历字符串,然后用strncmp比較就可...
分类:
编程语言 时间:
2015-12-24 19:21:49
阅读次数:
174
题意:
给出n个字符串,长度均为len;
有m次操作,每次将两个字符交换;
求每个字符串在任何时点上,与相同的它最多的字符串个数;
n
题解:
Poi!
字符串长度很小,我们先考虑到用Hash来判断字符串的相同;
这些部分很简单,但是统计任意时点对某个字符串的答案是很难的;
因为如果暴力更新的话复杂度是O(nm),所以不能这么搞;
而延迟更新也没有什么好办法,只能去找打...
分类:
其他好文 时间:
2015-09-14 12:18:43
阅读次数:
205
把串分成前后两半,前面的做暴力枚举,并把结果丢到集合里去,后面的也暴力枚举,并且每次的结果去集合里看有无出现过相同的.如果有那么异或后为0,就是符合题目要求的,选出包含字符串个数最多的!这样一优化,前后两个2^12+2^12,瞬间时间复杂度开方了!#include #include #include...
分类:
其他好文 时间:
2015-09-06 21:31:17
阅读次数:
215
题目链接:Wireless Password
解析:给 m 个单词构成的集合,统计所有长度为 n 的串中,包含至少 k 个单词的方案数。
AC自动机 + 状态压缩DP。
DP[i][j][k]:长度为i的字符串匹配到状态j且包含k个magic word的可能字符串个数。
AC代码:
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2015-08-15 16:34:51
阅读次数:
119
AC自动机模板……
/*
* AC自动机模板
* 使用方法:
* 1、init() : 初始化函数
* 2、insert(str) : 插入字符串函数
* 3、build() : 构建ac自动机
* 4、query(str) : 返回出现的字符串个数
*
* 使用需注意事项:
* 1、注意输入的字符的范围,需对Next和其二维大小及相关参数进行更...
分类:
其他好文 时间:
2015-08-12 01:24:36
阅读次数:
158
题目链接: 考研路茫茫――单词情结
做本题前,个人建议先做一下POJ 2778
http://blog.csdn.net/u013446688/article/details/47378255
POJ2778 是求长度为n,不包含模式串的字符串个数。
而本题是求长度为n,包含模式串的字符串个数。直接用字符串总数减去不包含模式串的字符串个数即为所求。
同样是...
分类:
其他好文 时间:
2015-08-10 16:11:45
阅读次数:
174
不知道为什么把这道题放在高效里,我这一点也不高效的方法居然也跑了0.016s
我们需要做的很简单,挨个字符的选择,然后先加上这个字符,和所有字符串比较一遍,根据大于它和小于它的字符串个数进行判断就好了 。 注意z这个字符 ,对于某些数据,会TLE的。。。
没什么意思,直接看代码吧:
#include
using namespace std;
const int maxn = 10000 +...
分类:
其他好文 时间:
2015-07-22 22:53:07
阅读次数:
118
题目大意:给出一个字符串A,要求最短的字符串B,B不是A的子序列。求最短长度和最短的字符串个数|A|<=105.题解:1.比赛的时候没有想出来,时隔一个多月又看到了这道题,虽然已经退役,还是下决心把它弄懂。2.网络上基本都是直接贴代码的.我还是简要的写一写解法:可以想象我们在字符串A上移动。一开始在...
分类:
其他好文 时间:
2015-07-20 23:19:56
阅读次数:
122
题目链接:BZOJ - 1009题目分析题目要求求出不包含给定字符串的长度为 n 的字符串的数量。既然这样,应该就是 KMP + DP ,用 f[i][j] 表示长度为 i ,匹配到模式串第 j 位的字符串个数,然后转移就是可以从第 j 位加上一个字符转移到另一个位置。然而..我并没有写过KMP +...
分类:
其他好文 时间:
2015-06-11 16:32:51
阅读次数:
257
题目大意:有2^L个长度为L的字符串,字符串只能有f或m组合而成,问这些字符串中不含有fmf或着fff的字符串有多少个解题思路:设f(n)为字符串长度为n,且字符串中不包含fmf或者fff的字符串个数
假设现在填到第n位了,最后一个字符如果填的是m的话,那么f(n-1)的都可以填
最后一位填的如果是f的话,这就要考虑一下了,最后三位的话只可能是mmf,mff,fff,fmf,排除掉fff,fmf...
分类:
其他好文 时间:
2015-05-19 19:10:05
阅读次数:
103