炸鸡块君与FIFA22
Posted solemntee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了炸鸡块君与FIFA22相关的知识,希望对你有一定的参考价值。
考虑倍增
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int st[200005][3][20];
char s[200005];
int main()
int n,q;
scanf("%d%d",&n,&q);
scanf("%s",s+1);
for(int i=1;i<=n;i++)
for(int j=0;j<=2;j++)
if(s[i]=='W')st[i][j][0]=1;
else if(s[i]=='L')
if(j==0)st[i][j][0]=0;
else st[i][j][0]=-1;
else st[i][j][0]=0;
for(int j=1;j<=19;j++)
for(int i=1;i<=n;i++)
for(int k=0;k<=2;k++)
int t=((k+st[i][k][j-1])%3+3)%3;
if(i+(1<<j)<=n+1)
st[i][k][j]=st[i][k][j-1]+st[i+(1<<(j-1))][t][j-1];
for(int i=1;i<=q;i++)
int l,r,s;
scanf("%d%d%d",&l,&r,&s);
int nowpos=l;
while(nowpos<r+1)
// cout<<nowpos<<endl;
int ts=(s%3+3)%3;
for(int j=19;j>=0;j--)
if(nowpos+(1<<j)<=r+1)
s+=st[nowpos][ts][j];
nowpos=nowpos+(1<<j);
break;
printf("%d\\n",s);
return 0;
以上是关于炸鸡块君与FIFA22的主要内容,如果未能解决你的问题,请参考以下文章