acmsguru

Posted wa007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了acmsguru相关的知识,希望对你有一定的参考价值。

acmsguru 552 - Database Optimization

充分利用STL即可

 

技术图片
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int maxn = 1e6+7;
 5 const ll mod = 998244353;
 6 const int sz = 25;
 7 #define afdafafafdafaf y1;
 8 int n,m;
 9 int ar[maxn];
10 map<string, int> mp;
11 int ins=0;
12 map<vector<int>, int> ms;
13 int decode(string s)
14     if(mp.count(s) == 0)
15         mp[s] = ins++;
16     
17     return mp[s];
18 
19 vector<int> res, in;
20 void dfs(int x)
21     if(x==in.size())
22         if(res.size() == 0)return ;
23         vector<int> mid = res;
24         sort(res.begin(), res.end());
25         ms[res]++;
26         res = mid;
27     
28     else
29         dfs(x+1);
30         res.push_back(in[x]);
31         dfs(x+1);
32         res.pop_back();
33     
34 
35 char ch[maxn];
36 int main()
37 
38     scanf("%d", &n);
39     for(int i=1; i<=n; i++)
40         int k;scanf("%d", &k);
41         in.resize(0);
42         while(k--)
43             scanf("%s", ch);
44             in.push_back(decode(string(ch)));
45         
46         dfs(0);
47         assert(res.size() == 0);
48     
49     scanf("%d", &m);
50     for(int i=1; i<=m; i++)
51         int k;scanf("%d", &k);
52         in.resize(0);
53         while(k--)
54             scanf("%s", ch);
55             in.push_back(decode(string(ch)));
56         
57         sort(in.begin(), in.end());
58         printf("%d\n", ms[in]);
59     
60     return 0;
61 
View Code

 

以上是关于acmsguru的主要内容,如果未能解决你的问题,请参考以下文章