思路

第一题对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.

全部评论

相关推荐

你背过凌晨4点的八股文么:简历挂了的话会是流程终止,像我一样
点赞 评论 收藏
分享
05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务