vijos 1677 陶陶的名字 kmp

2021-08-01 00:20:25 字數 747 閱讀 8496

背景

陶陶是乙個智慧型機械人,他能像人一樣思考問題,不過由於iq問題,他給自己取了乙個很長很長的名字。

描述某一天,陶陶想把自己的名字塗在牆上。由於他的名字太長,為了省事,他從自己名字的開頭擷取了一段作為模板。我們不妨設這個模板的長度為l,陶陶的名字的長度為l,那麼有1≤l≤l。然後陶陶會用這個模板進行若干次噴塗,噴出自己的名字(後一次噴塗會覆蓋前一次噴塗的結果,例如當前牆上已經有abc三個字元,那麼如果在c處進行噴塗,就會得到ababc)。陶陶噴塗名字總是從前向後噴的,假設陶陶噴塗了k次,這k次噴塗按時間順序第i次噴塗的位置是s[i],那麼s[i]

#include

#include

#include

#include

#include

#include

using

namespace

std;

char t[1000100];

int len;

int next[1000100];

int ans[1000100];

void makenext()

else j=next[j];

}}int main()

int ans=len;//判斷超出的情況

while(next[ans+1]-1>=k) ans=next[ans+1]-1;

printf("%d",ans);

return

0;}

陶陶搶蘋果(vijos1445)

演算法 模擬 很裸的一道模擬題了,不解釋了 program vj1445 const maxn 100000 var n,m longint a,b,ans,d,dd array 0.maxn of longint procedure init var i longint begin fillcha...

Vijos1676 陶陶吃蘋果(樹形dp)

題目鏈結 分析 好好讀題啊 如果乙個點被保留,那麼這個點到根路徑上的點都會被保留,前輩說這是 樹形依賴問題 解決樹形依賴問題的常見做法就是將父節點的值給當前節點,然後用當前節點繼續深層的計算 設f i j f i j 表示在結點 i i 到根結點的鏈一側選擇 j role presentation ...

vijos 難解的問題

描述 在你的幫助下,蔚藍來到了埃及.在金字塔裡,蔚藍看到了乙個問題,傳說,能回答出這個問題的人就能受到埃及法老的祝福,可是蔚藍日夜奮戰,還是想不出來,你能幫幫他麼?胡扯,教主怎麼可能想不出來 ws這人說的 問題是這樣的 給定乙個序列.求最長上公升子串行 lis p1。但是,現在還有乙個附加條件 求出...