求调倍增计算(已解决)

6 个赞

首先,记录前缀和我有点看不懂。
sum[m+i][0]=sum[i-1][0] 感觉没什么用处,我贴一个我的。

	for(int i=1;i<=m;i++)
	{
		sum[i][0]=sum[i-1][0];
		sum[i][1]=sum[i-1][1];
		sum[i][2]=sum[i-1][2];
		if(a[i]=='A')
		{
			sum[i][0]=sum[i-1][0]+1;
		}
		if(a[i]=='B')
		{
			sum[i][1]=sum[i-1][1]+1;
		}
		if(a[i]=='C')
		{
			sum[i][2]=sum[i-1][2]+1;
		}
	}
2 个赞

而且破环成链的话前缀和的话也要 2

3 个赞

所以你的 m 建议你直接2倍

3 个赞

还是错的

2 个赞

now 每次要等于i呀

2 个赞

等于了啊

2 个赞

我测一下

2 个赞

不是呀,我用你的代码过了呀

2 个赞

我私信你

2 个赞

ok

2 个赞

2 个赞

其他没有问题,至于为什么错的话或许就是那句多余的话,不知道什么意思,其他没有问题

2 个赞