AC自动机
文章平均质量分 81
ok_again
起步级菜鸟
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 2222 Keywords Search
AC自动机模板。 题意:给你n个单词,问你目标句子中含有几种单词。在shǎ崽那里学习的模板,太强大了!完全是用数组,ORZ~~~。话说这道题Hdu的数据好水啊,这组数据: 2 sher he absherok 就算你程序输出的是1,也会AC。。。 #include #include #includ原创 2013-10-08 13:27:10 · 968 阅读 · 0 评论 -
hdu 4758 Walk Through Squares
AC自动机+DP。想了很久都没想出来。。。据说是一道很模板的自动机dp。。。原来自动机还可以这么跑啊。。。我们先用两个字符串建自动机,然后就是建一个满足能够从左上角到右下角的新串,这样我们就可以直接从自动机中跑出一个满足题意的串就可以了,(貌似需要建新串的AC+DP都需要这么搞啊!)可以利用chd数组去递推得到状态的种数。这里我们用dp[ i ][ j ][ k ][ s ]表示当字符的位置为原创 2013-10-08 19:46:30 · 1180 阅读 · 0 评论 -
hdu 2825 Wireless Password
AC自动机+DP。第一道自己做出来的AC+DP。。自动机部分相信大家已经很熟悉了,DP那部分其实就是在自动机上跑出一个新串即可,用val数组标记自动机中到达每个节点所包含的单词种类(用状态压缩)。因为范围很小,所以直接暴力dp就可以了,注意用滚动数组实现DP,不然会超时。。 #include #include #include #include #include #include原创 2013-10-10 13:59:59 · 1753 阅读 · 1 评论 -
hdu 2457 DNA repair
AC自动机+DP。按着自动机跑,(其实是生成新的满足题目要求的串,然后找改变最少的。)但是不能跑到是单词的地方,如果跑到单词的话那么说明改变后的串含有病毒了,不满足题意。然后就是应该怎么跑的问题了,现在我们从自动机的根节点开始跑,如果跑到下一个节点和当前串的字母不一样的话,那么当前位置生成的串是和原串在该位置是有差异的,dp+1,否者的话dp不变。所以dp[ i ][ j ]表示的是匹配到当前匹配原创 2013-10-10 11:38:28 · 1576 阅读 · 0 评论 -
SPOJ AMR12E Dyslexic Gollum
AC自动机+DP。题目要求是生成一个长度为n的 0-1 串,其中最长回文子串的长度小于 k ( 1 <= k <= 10)。原创 2013-10-16 18:08:31 · 1380 阅读 · 0 评论
分享