AcWing 1884. COW------------------------------------------------------dp状态机两种方式
原题链接
简单
作者:
古德古德
,
2022-03-31 19:28:33
,
所有人可见
,
阅读 149
没看题解之前的写法
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
long long c[N],co[N],cow[N];
int n;
int main()
{
cin >> n;
string s; cin >> s;
for(int i = 0 ; i< n ; i++)
{
if(s[i] == 'C') c[i] = c[i-1]+1;
else c[i] = c[i-1];
}
for(int i = 0 ; i< n ; i++)
{
if(s[i] == 'O') co[i] = co[i-1]+c[i-1];
else co[i] = co[i-1];
}
for(int i = 0 ; i< n ; i++)
{
if(s[i] == 'W') cow[i] = cow[i-1]+co[i-1];
else cow[i] = cow[i-1];
}
cout << cow[n-1];
}
C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int n;
int main()
{
cin >> n;
string s; cin >> s;
long long c = 0 , co = 0 , cow = 0;
for(int i = 0 ; i< n ; i++)
{
if(s[i] == 'C') c += 1;
if(s[i] == 'O') co += c;
if(s[i] == 'W') cow += co;
}
cout << cow;
return 0;
}