去年寫的,已經發霉,出來晾一晾…
模式串p在母串s上的匹配。
#define m 100000
int pre[m], n, m;
void
set(string p)
}int kmp(string s, string p)
}return r;
}
找到乙個自迴圈串的最小表示。
先定義t(i,k)表示乙個以i為起點,長為k的串。
string smallest(string s, int &ans)
}ans = i;
return s.substr(i, n);
}
//也可不調換ij
int smallest(string s)
return min(i, j);
}
長春網路賽1006是求乙個串的最大表示方案。可以逆時針和順時針兩種方式。
複雜度o(n),適合插入與查詢。
void insert(char *s, int l, int t, int x)
if(a[x].son == 0)
int i = a[x].son;
if(a[i].ch > s[t])
int j = i;
while(a[i].ch < s[t] && a[i].next != 0)
if(a[i].ch < s[t])
else
if(a[i].ch > s[t])
insert(s, l, t+1, i);
return;
}void read(int x)
在字典樹上的kmp
struct trie
void init()
void insert(char buf, int x)
end[now] = x;
}void build()
while(!q.empty())}}
int query(char buf)
}return res;
}}ac;
常用字串演算法
一 判斷兩個字串是否包含相同的內容 1.巧用陣列下標實現,把用字元的ascii碼值當作下標,記錄出現的字元,然後對兩字串進行遍歷 判斷s於s2是否相同 param s param s2 return boolean static boolean equals string s,string s2 四...
mysql常用字串 MYSQL常用字串函式寶典
mysql常用字串函式 想更進一步加強自己在查詢語句方面的能力,需要掌握常用函式。字串函式 1 concat s1,s2,sn 將s1,s2,sn串聯成乙個字串。exp root test 14 43 desc t1 field type null key default extra id int ...
常用字串hash演算法
以前學習資料結構中有關hash部分的時候一帶而過,現在真正在實踐中用到的時候才感受到hash的魅力。hdoj1800可作為練習 以下是常用字串hash演算法的簡單對比分析 hash函式 資料1資料2 資料3資料4 資料1分數 資料2分數 資料3分數 資料4分數 平均rshash10 4861 505...