%dalaoMEX求助(送积分)

@stringdp100005 私信

完蛋了谁教我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了再给解决方案 :smiling_face_with_tear:

//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];
//后两个乘多少自己写
		}
//剩下俩自己写

MEX
开long long(指ans j 前缀和数组)
不然(如图)

1 个赞

遇到问题了?

他没看

bushi,我在写T4

所以你准备把方案给谁