牛客白月赛3 题解
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客白月赛3 题解相关的知识,希望对你有一定的参考价值。
感觉这次的挺难的,很多不会的。
还得加训啊。
https://ac.nowcoder.com/acm/contest/87#question
目录
音标【模拟】
模拟,暴力枚举就好了。
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m,t;
int a[N];
int main(void)
string s;
a['a'-'a']=1,a['e'-'a']=1,a['i'-'a']=1,a['o'-'a']=1,a['u'-'a']=1,a['y'-'a']=1;
while(cin>>s)
for(int i=0;i<s.size();i++)
for(int j=s[i]-'a';j>=0;j--)
if(a[j])
printf("%c",'a'+j);
break;
puts("");
return 0;
躲藏【计数类DP】
f[i][j] 表示前i个 匹配前j个字符 出现的次数和
#include<bits/stdc++.h>
using namespace std;
const int N=1e5*2+10;
const long long int mod=2000120420010122;
typedef long long int LL;
LL f[N][4];
char s[N];
int main(void)
while(cin>>s+1)
int n=strlen(s+1);
for(int i=1;i<=n;i++)
s[i]=tolower(s[i]);
f[i][1]=(f[i-1][1]+(s[i]=='c'))%mod;
f[i][2]=(f[i-1][2]+(s[i]=='w')*f[i][1])%mod;
f[i][3]=(f[i-1][3]+(s[i]=='b')*f[i][2])%mod;
f[i][4]=(f[i-1][4]+(s[i]=='c')*f[i][3])%mod;
cout<<f[n][4]<<endl;
return 0;
以上是关于牛客白月赛3 题解的主要内容,如果未能解决你的问题,请参考以下文章