這道題目寫得好暴力可能都能過吧(←亂說的別理他( ̄_, ̄ ))。大概用tire做到o(n*len),其中len表示乙個單詞的長度。實際上也非常好寫,如果用刷表法也就30行**。。一不小心把tire開大了mle了一下然後差點刷到第一頁(←這也能拿出來說,就這點出息)。
ac**如下:
#include#include#include#define n 1300005
using namespace std;
int n,m,tot,len,ch[305][26]; bool bo[n],f[n]; char s[n];
void updata(int x)
}int main()
bo[now]=1;
} for (i=1; i<=m; i++)
t=0; ans=j; updata(j+1);
} printf("%d\n",ans);
} return 0;
}
by lych
2016.2.6
BZOJ1212 L語言(AC自動機)
bzoj 很自然的,既然要匹配單詞,那就全部都丟到 ac 自動機裡面去 現在想想怎麼匹配 先是 ac 自動機正常的匹配 如果此時這個位置能夠匹配上乙個串 我們就需要判斷一下這個串覆蓋到這個文字串中 它的前一位是否恰好被覆蓋 如果有的話 我們也不能直接計算 因為可能是其他不同的串拼起來的 所以,就開乙...
12 1 2 記憶體監控
linux 系統的記憶體分為物理記憶體和虛擬記憶體兩種。物理記憶體是真實的,也就是物理記憶體條上的記憶體。而虛擬記憶體則是採用硬碟空間補充物理記憶體,將暫時不使用的記憶體頁寫到硬碟上以騰出更多的物理記憶體讓有需要的程序使用。當這些已被騰出的記憶體頁需要再次使用時才從硬碟 虛擬記憶體 中讀回記憶體。這...
約瑟夫問題(1,2,1,2報數)
題目描述 n個人排成一圈,按順時針方向依次編號1,2,3 n。從編號為1的人開始順時針 一二 報數,報到2的人退出圈子。這樣不斷迴圈下去,圈子裡的人將不斷減少。最終一定會剩下乙個人。試問最後剩下的人的編號。n很大,直接模擬題意不行,請找出規律。輸入不超過1000組資料。每組資料一行,每行乙個正整數,...