思路

第一题对k取余数,用map存一下,哪个数多就选哪个

第二题进行两次操作,第一次将所有数变成1第二次为0,以第一种为例,从第二个开始,判断前一个数是否为0,是0就将这一位和上一位取反,然后判断最后一位是否为1

第三题bfs,或者dp,记忆化搜索都可以,如果与上一个点相同则+1否则+2

第四题dp,至少2个,我们可以求出0个和1个,然后用26^n减掉0个和1个的个数,具体可以用2维,表示前i个数中red的个数,属性求个数f[i][0]= f[i-1][0]*26 -f[i-3][0],f[i][1]=f[i-1][1]*26+f[i-3][0]- f[i-3][1]只看向前3位即可,记得初始化 f[0][0] = 1, f[1][0] = 26, f[2][0] = 26 * 26.

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务