72779-牛客周赛 Round 26

第一题对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,答案ans - f[n][0] - f[n][1].

全部评论
佬 f[i][0]= f[i-1][0]*26 -f[i-3][0] 为什么要减去f[i - 3][0] 呢
点赞 回复 分享
发布于 2024-01-02 11:33 河北

相关推荐

八极星:有什么不能问的,(/_\),这又不是多珍贵的机会,你有什么可失去的
点赞 评论 收藏
分享
挥毫自在:想白嫖你呢
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务