完蛋了谁教我TLE算法
预测:给M来三个前缀和一个统计0的个数…其余同理,枚举每个E
离谱思路:给M来三个前缀和,一个统计0个数,一个1个数,一个2个数,X同理,枚举每个E,再分0/1/2三种考虑`
``for(int i=1;i<=n;i++){
cin>>c[i];
m[0][i]=m[0][i-1];
m[1][i]=m[1][i-1];
m[2][i]=m[2][i-1];
if(c[i]==‘M’){
m[a[i]][i]++;
}
}`````
我说下我的思路哈,正在写,不知道能不能过
觉得有用的点个赞
就是整三个数组
int M[200005];
int E[200005];
int X[200005];
每个数组存储的是在字符串里数组对应的字符所在的位置
应该能优化复杂度
预测对了
1 个赞
他窥屏
还能AC
1 个赞
等我AC了再给解决方案 ![]()
//j是对于每个E,ans加多少
if(c[i]=='E')
if(a[i]==0){
j=m[0][i]*x[0][i]+m[0][i]*x[1][i]*2+m[0][i]*x[2][i];
j=j+m[1][i]*x[0][i]+m[1][i]*x[1][i]+m[1][i]*x[2][i];
j=j+m[2][i]*x[0][i]+m[2][i]*x[1][i]+m[2][i]*x[2][i];
//后两个乘多少自己写
}
//剩下俩自己写

开long long(指ans j 前缀和数组)
不然(如图)
1 个赞
遇到问题了?
他没看
bushi,我在写T4
所以你准备把方案给谁