hdu5745 La Vie en rose(暴力)
生活随笔
收集整理的這篇文章主要介紹了
hdu5745 La Vie en rose(暴力)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
思路:題目好像有錯,應該是每個位置只能和相鄰的交換一次,每個位置只能交換一次,然后直接O(nm)暴力...
#include<bits/stdc++.h> using namespace std; char s[100005],p[5005]; int ans[100005];int main() {int T;scanf("%d",&T);while(T--){int lens,lenp;scanf("%d%d",&lens,&lenp);scanf("%s",s);scanf("%s",p);memset(ans,0,sizeof(ans));int poss = 0,posp = 0;while(poss<lens && posp<lenp){if(s[poss]==p[posp]){if(posp == lenp-1){ans[poss+1-lenp]=1;poss = poss+1-lenp+1;posp = 0;continue;}else{poss++;posp++;}}else if(s[poss]==p[posp+1] && s[poss+1]==p[posp]){if(posp+1 == lenp-1){ans[poss+2-lenp]=1;poss = poss+2-lenp+1;posp = 0;continue;}else{poss+=2;posp+=2;}}else{poss-=posp;posp = 0;poss++;}}for(int i = 0;i<lens;i++)printf("%d",ans[i]);printf("\n");} }
Problem Description Professor Zhang would like to solve the multiple pattern matching problem, but he only has only one pattern string?p=p1p2...pm. So, he wants to generate as many as possible pattern strings from?p?using the following method:
1. select some indices?i1,i2,...,ik?such that?1≤i1<i2<...<ik<|p|?and?|ij?ij+1|>1?for all?1≤j<k.
2. swap?pij?and?pij+1?for all?1≤j≤k.
Now, for a given a string?s=s1s2...sn, Professor Zhang wants to find all occurrences of all the generated patterns in?s.
Input There are multiple test cases. The first line of input contains an integer?T, indicating the number of test cases. For each test case:
The first line contains two integers?n?and?m?(1≤n≤105,1≤m≤min{5000,n})?-- the length of?s?and?p.
The second line contains the string?s?and the third line contains the string?p. Both the strings consist of only lowercase English letters.
Output For each test case, output a binary string of length?n. The?i-th character is "1" if and only if the substring?sisi+1...si+m?1?is one of the generated patterns.
Sample Input 3 4 1 abac a 4 2 aaaa aa 9 3 abcbacacb abc
Sample Output 1010 1110 100100100
Author zimpha
Source 2016 Multi-University Training Contest 2
總結
以上是生活随笔為你收集整理的hdu5745 La Vie en rose(暴力)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【有图有真相】北京地区午饭线下活动——香
- 下一篇: Anagram总结