Luogu2444 病毒(AC自動機)

2021-08-14 21:56:43 字數 845 閱讀 9530

洛谷

如果存在乙個無限長的串

證明可以在ac

自動機上找到乙個環

然後在上面可以無限跳

所以構建ac

自動機

在上面跑df

s 就好啦

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define max 50000

struct node

t[max];

int n,tot;

char ch[max];

void insert(char *s)

t[now].lt=1;

}void getfail()

}bool vis[max];

bool vv[max];

void dfs(int u)

if(vv[u])return;

vis[u]=true;vv[u]=true;

for(int i=0;i<2;++i)

if(t[u].vis[i])

dfs(t[u].vis[i]);

vis[u]=false;

}int main()

getfail();

dfs(0);

puts("nie");

return

0;}

Luogu2444 病毒(AC自動機)

洛谷 如果存在乙個無限長的串 證明可以在 ac 自動機上找到乙個環 然後在上面可以無限跳 所以構建 ac 自動機 在上面跑 dfs 就好啦 include include include include include include include include include includeu...

洛谷2444 BZOJ2938 病毒 AC自動機

題目鏈結 題意 給你n個01串,這些01串不能在你的串中出現,問你是否能構造出無限長的01串。題解 乍一看是挺不好想的。無限長會想到得到乙個可行的迴圈節,那些串不能出現卻不太好處理。我是聽別人講的這道題,所以我也沒有想好該怎麼說明才能想到ac自動機的,如果有能給出乙個合理的思維過程的朋友歡迎與我交流...

洛谷P2444 病毒(AC自動機變形)

作為一道蹂躪了我一天的題 我也沒啥好說的了qaq 思路概述 我們知道,ac自動機是一種多模字串匹配演算法。構造 trie 樹 後,在模式串末尾一位的結點作上標記。平常的 ac自動機 是盡量能多接觸到這些標記,使總值最大。本題倒是有點奇葩,要構造乙個可行的無限長文字串,使沒有任何子串為給出模式串中的乙...