Gym - 101972H Beautiful Substrings(思维+模拟)
生活随笔
收集整理的這篇文章主要介紹了
Gym - 101972H Beautiful Substrings(思维+模拟)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目鏈接:點(diǎn)擊查看
題目大意:題目的意思挺難理解的。。尤其是對(duì)我這種英語(yǔ)渣來(lái)說(shuō),簡(jiǎn)單說(shuō)一下,就是先給出三個(gè)數(shù)字n,m,k,然后再給出兩個(gè)字符串a(chǎn)和b,n和m代表的是字符串a(chǎn)和b的長(zhǎng)度,然后描述題意:
我們規(guī)定美麗子字符串指的是:
只要滿足上述條件我們稱(chēng)該子字符串為美麗子字符串,問(wèn)字符串b中有多少個(gè)美麗子字符串
題目分析:只要能看懂題意。。直接模擬即可,時(shí)間復(fù)雜度是1e5*26
上代碼吧,比這代碼理解題意應(yīng)該更好理解一點(diǎn):
#include<iostream> #include<cstdio> #include<string> #include<ctime> #include<cstring> #include<algorithm> #include<stack> #include<queue> #include<map> #include<sstream> using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=1e5+100;int num[30];bool vis[30][30];int main() { // freopen("input.txt","r",stdin);int w;cin>>w;while(w--){memset(num,0,sizeof(num));memset(vis,false,sizeof(vis));int n,m,k;scanf("%d%d%d",&n,&m,&k);string a,b;cin>>a>>b;for(int i=0;i+k-1<n;i++)vis[a[i]-'a'][a[i+k-1]-'a']=true;LL ans=0;for(int i=0;i<m;i++){num[b[i]-'a']++;for(int j=0;j<26;j++){if(vis[j][b[i]-'a'])ans+=num[j];}}printf("%lld\n",ans);}return 0; }?
總結(jié)
以上是生活随笔為你收集整理的Gym - 101972H Beautiful Substrings(思维+模拟)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HDU - 2049 不容易系列之(4)
- 下一篇: Gym - 101972A Multip