随笔分类 -  AC自动机 | trie | 字典树

摘要:题目大意:先给你一些子串,然后给你一个母串,母串里面的字母可以任意调换位置,问最多这个母串经过一些位置变动最多能包含多少个子串。分析:可以比较明显的看出来的DP,先求出来ATGC分别有多少,然后再处理,不过有个比较麻烦的地方,因为ATGC的字母数最多是40,因为不知道那种字母所以是40*40*40*... 阅读全文
posted @ 2015-08-31 13:35 无忧望月 阅读(315) 评论(0) 推荐(0)
摘要:题目大意:首先给你一下母串,长度不超过10^5,然后有 N(10^5) 次查询,每次查询有两种命令,0或者1,然后加一个子串,询问母串里面有多少个子串,0表示可以重复,1表示不可以重复。分析:发现查询的次数是比较多的,然后可以利用查询的串建立一个trie,然后用母串跑一遍就行了,不过有两种操作比较麻... 阅读全文
posted @ 2015-08-26 15:57 无忧望月 阅读(500) 评论(0) 推荐(0)
摘要:题目大意:给你N个DNA的串,也就是至包含'A','T','G','C'四种碱基的,这些给定的串都是带有遗传病的,然后给你一个不会超过1000的串,问你至少几个地方才能让这个串不包含遗传病,如果不论怎么修改都没用,输出'-1'分析:用dp[Ni][nNode],表示长度为i时候到达第n个节点修改的最... 阅读全文
posted @ 2015-08-26 14:21 无忧望月 阅读(141) 评论(0) 推荐(0)
摘要:题目大意:斯蒂文想送给他女盆友一个戒指,并且他想在戒指上刻一些字,他非常了解他女盆友喜欢什么单词,比如"love""forvevr"....并且他还把女盆友喜欢的单词弄了一个高兴度,他现在准备在这个戒指上刻上一个长度不超过N的句子,并且这个句子的高兴度是最大的,如果有多个这样的句子,选择最短的,如果... 阅读全文
posted @ 2015-08-26 10:47 无忧望月 阅读(155) 评论(0) 推荐(0)
摘要:题目大意:有个人想破解他邻居的密码,他邻居告诉了一些关于这个密码的信息,并且给他一个单词集合,他用这些信息判断一下最少有多少种密码。1->, 所有的密码都是有小写字母组成。2->,密码的长度是 n (1,密码至少包含 k 种字符集里面的单词。比如,给集合{"she", "he"},单词长度是3,最少... 阅读全文
posted @ 2015-08-25 17:39 无忧望月 阅读(355) 评论(0) 推荐(0)
摘要:题目大意:首先给一个字符集合,这个集合有N个字符,然后需要一个长度为M的句子,但是据子里面不能包含的串有P个,每个串里面的字符都是有字符集和里面的字符构成的,现在想知道最多能构造多少个不重复的句子。分析:跟以前做过的那两题差不多,不过这个不让取余....不过考虑到字符长度也不大,最多也就50,所以使... 阅读全文
posted @ 2015-08-24 18:43 无忧望月 阅读(670) 评论(0) 推荐(0)
摘要:分析:与poj的2778差不多的,求出来所有的情况然后减去不包含的就行了,这次使用了一下kuangbin的那种自动机写法,确实还不错,因为尤是在建立矩阵的时候更加方便。代码如下:=============================================================... 阅读全文
posted @ 2015-08-24 15:55 无忧望月 阅读(166) 评论(0) 推荐(0)
摘要:题目大意:DNA序列是有 ATGC 组成的,现在知道一些动物的遗传片段有害的,那么如果给出这些有害的片段,能否求出来所有长度为 N 的基因中有多少是不包含这些有害片段的。分析:也是断断续续做了一天,做这道题前先做一下hdu2157 这道题,因为这道题的思路就是从它转变过来的,看明白了这个后,就需要构... 阅读全文
posted @ 2015-08-23 19:40 无忧望月 阅读(166) 评论(0) 推荐(0)
摘要:题目大意:给你一些病毒的特征码,然后再给一些文本,判断每个文本有多少种病毒,不过给的字符串都是加密处理过的,给的每个字符串都有对应一个64以内的一个数(题目里面那个表就是),然后可以把这个64以内的这个数化成6位的二进制数,然后把这些二进制数每8位再化成一个字符,这就是原来的字符,比如QA== ->... 阅读全文
posted @ 2015-08-23 10:11 无忧望月 阅读(195) 评论(0) 推荐(0)
摘要:分析:依然是一个模板题,不过在写建立失败指针的地方竟然写错了三次....看来现在状态不太好。代码如下:===================================================================================================... 阅读全文
posted @ 2015-08-22 19:03 无忧望月 阅读(172) 评论(0) 推荐(0)
摘要:分析:有点需要注意的,输入的字符是所有可见的ASCII码,刚开始没看清一直以为是小写字母.............注意到这点后这题就是裸的自动机了。代码如下:=======================================================================... 阅读全文
posted @ 2015-08-22 17:27 无忧望月 阅读(144) 评论(0) 推荐(0)
摘要:题目大意:输入几个子串,然后输入一个母串,问在母串里面包含几个子串。分析:刚学习的AC自动机,据说这是个最基础的模板题,所以也是用了最基本的写法来完成的,当然也借鉴了别人的代码思想,确实是个很神奇的东西,如果不懂KMP的话,最好先学学KMP再来学这个,会理解的更深刻一些。代码如下:=========... 阅读全文
posted @ 2015-08-22 16:43 无忧望月 阅读(198) 评论(0) 推荐(0)
摘要:题目大意:有 N 个手链,每个手链的最大长度不超过100,求出来最多有多少个不同的手链。分析:因为手链是可以转动的,所以只要两个手链通过转动达到相同,那么也被认为是一种手链,然而如果每次都循环比较的话无疑是非常浪费时间的,不过如果把每个串都用最小的字典序表示出来,那么同样的手链肯定会变成相同的状态,... 阅读全文
posted @ 2015-08-19 16:50 无忧望月 阅读(165) 评论(0) 推荐(0)
摘要:就是查找这个单词能不能有两个单词组成,简单的字典树题目//////////////////////////////////////////////////////////////#include#include#includeusingnamespacestd;#definemaxn26struct... 阅读全文
posted @ 2015-07-24 19:04 无忧望月 阅读(200) 评论(0) 推荐(0)

levels of contents