E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ2938
[
bzoj2938
][Poi2000]病毒——AC自动机
题目大意:给定n个01串,求是否存在一个长度无穷的01串使得这个01串不包含任何一个给定的串。思路:考虑AC自动机匹配的过程是在Trie树上不停地跳,那么如果我们可以找到一个串使得这个串可以一直在Trie上跳并且永远跳不到匹配节点就说明可行。可以发现这样的话这个串在AC自动机上的匹配一定是会出现环的,于是我们直接dfs找环就好了。考虑如何判断这个节点是否可以走到,即这个节点以及这个节点的所有fai
ylsoi
·
2020-09-16 00:00
AC自动机
Bzoj2938
——[POI2000]病毒
2938:[Poi2000]病毒TimeLimit:1SecMemoryLimit:128MBSubmit:1503Solved:766Description二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。示例:例如如果{0
wangyh1008
·
2020-07-08 12:58
一本通提高篇
AC自动机
[
BZOJ2938
][POI2000]病毒(AC自动机+dfs)
题目传送门题解这是一道比较锻炼思维的题,让我更加深的理解失配指针的作用一般的AC自动机都是尽量多的匹配,这道题希望无限长,也就是希望能失配就失配,我们构造出trie树之后,在trie图(注意现在变成了一个图)上找环即可;几点优化:根据trie树的性质.如果某个点的后缀是病毒,那么这个点肯定不能选在dfs中,建立两个bool数组,一个需要回溯——用于在这条路径上找环,另一个不需要回溯——之前搜索过就
A_Comme_Amour
·
2018-04-22 16:27
dfs深搜
AC自动机
【
BZOJ2938
】病毒,AC自动机练习
传送门(权限题)2938:[Poi2000]病毒TimeLimit:1SecMemoryLimit:128MBSubmit:462Solved:240[Submit][Status][Discuss]Description二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段
xym_CSDN
·
2016-04-04 20:00
BZOJ2938
POI2000 病毒 题解&代码
题意:给出n个病毒代码,判断是否有无限长度的代码满足:不包含任何病毒代码。题解:看到多字符串匹配,就想到AC自动机【这语气好奇怪AC自动机建好fail指针,然后从根向下dfs查找,所有实节点都用flag标记,如果找到了一个不经过病毒路径的环,那么就存在无限长度代码满足不包含任何病毒代码/********************************************************
Rainbow6174
·
2016-03-11 16:00
poi
病毒
bzoj
bzoj2938
(ac自动机)
2938:[Poi2000]病毒TimeLimit: 1Sec MemoryLimit: 128MBSubmit: 421 Solved: 217[Submit][Status][Discuss]Description二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段
M_AXSSI
·
2016-03-03 19:00
bzoj2938
[Poi2000]病毒
题目链接如果可以按照一个循环节一直循环而不会被匹配到,那么就安全了所以在AC自动机上找环就可以了为什么会T呢?找环挂了,开两个bool数组快很多啊。。。涨姿势了T掉代码:boolbo[30030]; booldfs(intx) { bo[x]=1; re(i,0,1) { if(bo[ch[x][i]])return1; if(v[ch[x][i]])continue; if(df
HugeGun
·
2016-02-29 16:00
【
bzoj2938
】[Poi2000]病毒 trie图+dfs
Description二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。示例:例如如果{011,11,00000}为病毒代码段,那么一个可能的无限长安全代码就是010101…。如果{01,11,000000}为病毒代码段,那么
LOI_DQS
·
2016-02-25 08:00
bzoj2938
【Poi2000】病毒
2938:[Poi2000]病毒TimeLimit: 1Sec MemoryLimit: 128MBSubmit: 345 Solved: 176[Submit][Status][Discuss]Description二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段
AaronGZK
·
2016-01-05 00:00
拓扑排序
AC自动机
bzoj
bzoj2938
: [Poi2000]病毒
传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2938思路:构建AC自动机,无限长的安全代码就是能一直在AC自动机上匹配而匹配不上任何一个危险串。依旧是匹配指针不能走到危险串的结尾点x,fail指针指向x的y也不能走,因为根据fail的定义,x这个危险串是y的后缀。找出危险节点后就是找环了,有环就有无限长的安全代码,否则没有。#in
thy_asdf
·
2015-07-26 14:00
AC自动机
2015湖南省队集训DAY6——B题(BZOJ4179)
多组数据,总文件大小小于1M题解:联动:
BZOJ2938
基本是原题,稍作了改动。考虑ac自动机。所求即为ac自动机中是否存在长度大于等于l的路径先将所有的串插进去,然后构造失配指针。
一只蒟蒻
·
2015-07-08 20:59
字符串
水题
ac自动机
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他