HUST 1328 String KMP 遞增思路

2021-06-19 11:37:58 字數 682 閱讀 2109

題意:求各個字首在字串中的出現的個數和。

kmp匹配一次的複雜度是0(n),這題如果暴力查詢字首進行kmp匹配的話,果斷會跪。

其實這題又是一題next陣列的應用。

我們可以遞推,每次僅僅看前i個字元,看看它的增加會影響到多少個匹配,很明顯,next[i]能影響的它也能影響,而它又影響自己本身。這樣就能解出來了。

非常蛋疼地送了幾個wa給了long long...

**:

/*

* author: illuz * blog:

* file: hust1328.cpp

* create date: 2013-12-01 18:21:18

* descripton: kmp

*/#include #include const int maxn = 1e5 + 1;

int f[maxn], ans[maxn];

// 分別是next陣列和記錄像響數的陣列

char p[maxn];

void getval(int l) else j = f[j];

} f[0] = 0;

}int main()

printf("%lld\n", cnt);

} return 0;

}

13 2 8 使用者認證

from django.contrib import auth提供了使用者認證,即驗證使用者名稱以及密碼是否正確,一般需要username password兩個關鍵字引數,如果認證資訊有效,會返回乙個 user 物件。authenticate 會在user 物件上設定乙個屬性標識那種認證後端認證了該...

poj解題報告 1328

不得不說,這題是讓我飽受折磨,畢竟第一次做貪心演算法,而且wa了好多次,幸好有學長的幫助,最終找到了問題所在,是在快排上是問題,double高位不可向int低位轉換,由於一開始強制轉換導致雖然樣例和其他的測試資料過了,但還是wa,現在改完了就對了,附上ac ps 這題通過率是22 真心不簡單 如下 ...

1328 破壞回文串

給你乙個回文字串 palindrome 請你將其中 乙個 字元用任意小寫英文本母替換,使得結果字串的字典序最小,且 不是 回文串。請你返回結果字串。如果無法做到,則返回乙個空串。示例 1 輸入 palindrome abccba 輸出 aaccba 示例 2 輸入 palindrome a 輸出 1...