花费 366ms 找到1159404条记录
1 BZOJ2938病毒POI2000)-AC自动机+DFS
2018年03月16 - 测试地址:病毒 题目大意:给定若干个01串,问存不存在一个无限长的串,使得这个串不包含任意一个给出的01串。 做法:本题需要用到AC自动机+DFS。 因为题目中涉及到了多串匹配的问题,所以自然想到构建AC自动机。接下来,我们知道匹配的过程实际上就是在AC自动机的节点上跳来跳去
2 bzoj2938 [Poi2000]病毒AC自动机+DFS
2018年02月05 - : 请写一个程序: l 读入病毒代码; l 判断是否存在一个无限长的安全代码; l 将结果输出 数据范围 所有病毒代码段的总长度不超过30000。 题解: 无限长的安全串,即 在不走单词结尾节点的情况下,能够无限地转移下去。 就是说,对于补全AC自动机,存在不包含单词结尾节点的。 建出补全AC
3 BZOJ2938 POI2000 病毒 补全AC自动机 Trie图
2017年12月11 - 大家都太强了辣,和我这样的大蒟蒻共勉吼不吼啊 ? 题意:   给您一堆 01 01串,问是否可以构造一个无限长的字符串,使得这些 01 01串都不是她的子串。 题解:   补全AC自动机(不走以单词结尾的点(不止是它本身)),记得
4 [BZOJ]2938 [POI2000] 病毒 AC自动机
2018年02月04 - ][ Status][ Discuss]  HOME Back   简单的AC自动机. 因为无限长的话相当于就是在AC自动机上不断失配. 能在一个点数边数都有限的图上无限走必然有. 那么直接dfs就可以了. dfs的时候要注意多加一个bool数组来保存搜索过没有, 如果有就不搜
5 BZOJ2938】[Poi2000]病毒 AC自动机+DFS
2017年01月09 - NIE 题解:先用AC自动机把fail合并到儿子节点上,删去单词的结束点,然后用DFS看一下Trie树里有没有就行了,有就是TAK 也可以用拓补排序,但是比较难搞,因为不知道入度什么时候为0 #include <cstdio>#include <cstring>
6 BZOJ 2938: [Poi2000]病毒 AC自动机
2016年12月28 - ——如果不存在。解析: 这题一看有好多个病毒片段就知道应该是AC自动机了,但是怎么样才能判断出是否存在无限长的安全码呢,不难发现,当且仅当构建出的AC自动机上有经过根节点且不含任何危险代码的,用一个dfs就好了 【注】:代码中环中的son[i]->match=true;是为了让下一次搜到这直接跳过
7 BZOJ 2938: [Poi2000]病毒 AC自动机
2017年08月11 - 2938: [Poi2000]病毒 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 983 Solved: 498 [Submit][Status][Discuss] Description
8 bzoj2938[Poi2000]病毒 AC自动机+dfs
2017年05月04 - 这题其实和之前考的那个无限链一样,而且还是简化版本,,直接建AC自动机然后在trie上dfs,找一个而且经过的点不为结束点就好了,然而智障的我居然忘记了怎么写AC自动机。。明明那个时候理解的很透彻的说。。看来不复习的话什么东西都会忘记啊。。唉。。 #include<
9 [BZOJ2938][POI2000]病毒AC自动机+dfs
2018年03月12 - 题目: 我是超链接 题解: 简单的来说,就是构造一个只含0和1的字符串,不能与Trie完成匹配(即包含病毒代码)。我们采用深搜的方式,往构造的字符串中添0或1。对于每个位置now,vis表示这个位置往后能不能添加成功,如果成功就立刻返回,不成功就继续找路,怎么都不能成功只能返回
10 BZOJ_2938_[Poi2000]病毒_AC自动机
2018年04月20 - BZOJ_2938_[Poi2000]病毒_AC自动机 Description 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限

 
© 2014-2018 ITdaan.com 粤ICP备14056181号