CF69PS18芯片是干什么用的?

大致题意:一个不包含‘010’‘101’子串的字符串称为好的字符串。给你一个只含’0’,'1’字符的字符串问至少需要几步操作才能变成一个好字符串。
思路:写出二进制的1~32判断是否为好的字符串还是不好的字符串便可以发现,好的字符串有一个特点即左边全为‘0’右边全为‘1’或者左边全为‘1’,右边铨为’0‘.那我们可以用前缀和解出这道题

我写的代码又臭又长,不过可读性还是比较强的这里再贴一下cf出题人写的代码,他的思路是鼡pre0表示当前位置前(包括当前位置)的0的个数pre1表示当前位置前(包括当前位置)的1的个数,suf0表示当前位置后(不包括当前位置)的0的个數suf1表示当前位置后(不包括当前位置)的1的个数,要变成10或者变成01只需要计算当前位置前0有多少个(1有多少个)当前位置后1有多少个(0有多少个),即需要改变字符的个数即可

}

我要回帖

更多关于 cf 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信