題目鏈結
發現乙個合法的串一定不會與病毒串匹配
如果讓它無限長,就說明一直匹配不到病毒串
如果找到乙個不經過病毒點的環,那麼就存在無限長度的合法串
ac自動機建完圖後,再用dfs判斷即可
**如下:
#include
#include
#include
#include
#define n 30050
using
namespace
std;
inline
int read()
int n;
char s[n];
struct node
}*root=new node;
queue
q;inline
void insert(char *s)
x->b=true;
}inline
void getfail()
while(!q.empty())
node *tmp=x->nex;
while(tmp!=root && !tmp->b) tmp=tmp->nex;
if(tmp->b) x->b=true;
}}bool check(node *x)
x->inq=false;
return
false;
}int main()
getfail();
if(check(root)) puts("tak");
else
puts("nie");
return
0;}
bzoj 2937 Poi2000 建造釀酒廠
time limit 1 sec memory limit 128 mb submit 67 solved 23 submit status discuss abstinence 島上的居民很喜歡飲用純釀的啤酒。迄今為止,他們都是從波蘭進口啤酒,自己不生產。但今年島上的乙個城市決定建造乙個釀酒廠,供...
POI2000 迷宮的牆
迷宮的牆 給出一棵有 n 1 個節點樹,每個節點都有一種顏色,一共只有三種顏色,每個非葉子節點的出度為 3 每個節點都指向編號比自己大的節點。樹以 1 號節點為根,樹的所有葉子節點都指向節點 n 而且每個節點的三條邊是有順序的,編號為 1,2,3 針對每一條 1 to n 的路徑,我們可以用一次遍歷...
洛谷2444 BZOJ2938 病毒 AC自動機
題目鏈結 題意 給你n個01串,這些01串不能在你的串中出現,問你是否能構造出無限長的01串。題解 乍一看是挺不好想的。無限長會想到得到乙個可行的迴圈節,那些串不能出現卻不太好處理。我是聽別人講的這道題,所以我也沒有想好該怎麼說明才能想到ac自動機的,如果有能給出乙個合理的思維過程的朋友歡迎與我交流...