相似串
Posted songt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相似串相关的知识,希望对你有一定的参考价值。
题目链接: http://exercise.acmcoder.com/online/online_judge_ques?ques_id=3369&konwledgeId=40
解题思路: 按照题意把每个出现的字符替换掉就可以了。
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 typedef long long LL; 5 const int MAXN=100005; 6 const LL MOD7 = 1e9+7; 7 8 set<char> unseen; 9 map<char,char> mp; 10 char s[MAXN]; 11 void solve() 12 { 13 unseen.clear(); 14 for (char ch=‘a‘;ch<=‘z‘;++ch) unseen.insert(ch); 15 mp.clear(); 16 char ch=‘a‘; 17 for (int i=0;s[i];++i) 18 { 19 auto it=unseen.find(s[i]); 20 if (it!=unseen.end()) 21 { 22 mp[*it]=ch++; 23 unseen.erase(it); 24 } 25 printf("%c",mp[s[i]]); 26 } 27 printf("\n"); 28 } 29 int main() 30 { 31 #ifndef ONLINE_JUDGE 32 freopen("test.txt","r",stdin); 33 #endif // ONLINE_JUDGE 34 scanf("%s",s); 35 solve(); 36 return 0; 37 }
以上是关于相似串的主要内容,如果未能解决你的问题,请参考以下文章
优化或提出c++、c#代码使用omp查找所有相似的k个motifs