bitset的用法(2019icpc上海热身赛B的解法)

 看一道题:

 

看这道题怎么做,可能是FFT也可以用bitset,bitset的用法看如下博客

https://www.cnblogs.com/magisk/p/8809922.html

所以这道题对不会FFT的我也就有了另一种解法,这是没有测过的代码(热身赛的时候截的图的时候写的)

#include<bits/stdc++.h>
using namespace std;;
string s1,s2;
const int inf=2e5+10;
const int maxn=1e5;
int main()
{
    cin>>s1>>s2;
    int ans=inf;
    int flag=s2.size();
    bitset<maxn>a1(s2);
    for(int i=0;i<s1.size();i++)
    {
         int l=i;
         int r=l+s2.size()-1;
         if(r>s1.size()) break;
         string s3(s1,l,s2.size());
         bitset<maxn>a2(s3);
         bitset<maxn>a3;
         a3=(a2^a1);
         int flag=a3.count();
         ans=min(ans,flag);
    }
    cout<<ans<<endl;
    return 0;
}

 

posted @ 2019-11-23 15:58  mcalex  阅读(186)  评论(0编辑  收藏  举报