题解分享
题解分享简介
不同子串(结果填空) - 题解
```cpp
#include <bits/stdc++.h>
using namespace std;
#define int long long
// #define LL long long
#define endl '\n'
void solve()
{
string s = "0100110001010001";
string tmp;
set<string> mySet;
for (int i = 1; i <= s.length(); i++)
for (int j = 0; j <= s.length() - 1; j++)
{
tmp = s.substr(j, i);
mySet.insert(tmp);
}
cout << mySet.size();
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
solve();
return 0;
}
```
查看全文
4
0
1
3
不同子串(结果填空) - 题解
```
#include<iostream>
#include<cstring>
#include<algorithm>
#include<map>
#include<string>
using namespace std;
string s="0100110001010001";
map<string,int> m;
int cnt;
int main()
{
for(int i=0;i<s.size();i++)//起点
for(int len=1;len<=s.size();len++)//子串长度 长度可以=size
{
string s1=s.substr(i,len);
if(m[s1])continue;
m[s1]=1;//表示s1出现过
cnt++;
}
cout<<cnt<<endl;
return 0;
}
```
查看全文
3
0
0
19



