學習筆記 簡單字串演算法 序列自動機

2021-09-03 03:01:17 字數 2239 閱讀 9859

struct node

;struct seq_am

inline

void

extend

(int c)

lst[c]

= tot;}}

;

題目大意:求兩個只含大小寫字母的字串的本質不同的公共子串行個數,題目還要求在個數少的時候,輸出所有公共子串行。長度都在 3010

3010

3010

內。

// luogu-judger-enable-o2

#include

template

<

class

t>

inline

void

putint

(t x)

const

int base =60;

const

int mod =

1e9;

const

int maxn =

3e3+50;

struct node

;struct seq_am

inline

void

extend

(int c)

lst[c]

= tot;

}}a, b;

struct bigint

bigint

(int t)

inline

void

operator+=

(bigint rhs)

if(a[len +1]

)++len;

}inline

void

print()

}f[maxn]

[maxn]

;int n, m, opt, lst[base]

;int pos[

200]

, idx[base]

;int top;

char s[maxn]

, t[maxn]

, stk[maxn]

;bool vis[maxn]

[maxn]

;inline

void

print

(int x,

int y)

}inline bigint dfs

(int x,

int y)

intmain()

-

題目大意:給兩個小寫字母串 a

aa,b

bb,字串長度均在 2000

2000

2000

範圍內。請你計算:

a

aa 的乙個最短的子串,它不是 b

bb 的子串

a

aa 的乙個最短的子串,它不是 b

bb 的子串行

a

aa 的乙個最短的子串行,它不是 b

bb 的子串

a

aa 的乙個最短的子串行,它不是 b

bb 的子串行

#include

const

int base =26;

const

int maxn =

2e3+5;

const

int maxs = maxn <<1;

struct node

;struct sam

inline

void

extend

(int c)}}

}sam_a, sam_b;

struct seq_am

inline

void

extend

(int c)

lst[c]

= tot;

}}seq_a, seq_b;

int n1, n2;

char s1[maxn]

, s2[maxn]

;template

<

classp,

class

q>

inline

intsolve

(p &a, q &b)

}return-1

;}intmain()

簡單字串

給你乙個由 0 9 組成的字串s 1 s 的長度 100 和乙個正整數n 1 n 3 我們將所有的 0 都看成空格。這樣你就得到幾個分隔開來的字串。輸出第n個字串。題目保證分隔開來的字串的數量大於等於n。input 第一行輸入正整數t 1 t 100 代表t組測試資料。對於每一組測試資料由一行組成 ...

簡單字串比較

題目描述 請使用字串比較函式,比較兩個字串的大小,並按要求輸出比較後的結果。字串最長不超過15個字元。輸入兩個字串str1和str2,如果第乙個字串與第二個字串相等,輸出str1 str2,如果第乙個字串大於第二個字串,輸出str1 str2,如果第乙個字串小於第二個字串,輸出str1 str2。輸...

A 簡單字串排序

a 簡單字串排序 time limit 5000msmemory limit 100000kb64bit io format lld llu submit status description 從鍵盤輸入10個學生的姓名和成績,請按字典序排列學生的姓名並輸出 姓名和成績對應關係保持不變 input ...