思路:
利用一个map记录初始的,利用一个map记录排序后的。
#include <bits/stdc++.h>
using namespace std;
map<string,int>qs;
map<string,int>qe;
int main()
{
string s;
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
cin>>s;
qs[s]+=1;
sort(s.begin(),s.end());
qe[s]+=1;
}
int q,temp;
scanf("%d",&q);
for(int i=0;i<q;i++)
{
cin>>s;
temp=qs[s];
sort(s.begin(),s.end());
printf("%d\n",qe[s]-temp);
}
return 0;
}
本文介绍了一种使用两个 map 数据结构来处理字符串匹配问题的方法。通过记录原始字符串及其排序后的形式出现的频率,该算法能够高效地解决特定场景下的字符串匹配任务。
334

被折叠的 条评论
为什么被折叠?



