竞赛讨论区 > dp滚动版
头像
已经死了
发布于 2022-10-28 21:34 浙江
+ 关注

dp滚动版

a=b=c=0
for i in input():
    if int(i)%3==0:
        a,b,c=a+a+1,b+b,c+c
    elif int(i)%3==1:
        a,b,c=a+c,b+a+1,c+b
    else:
        a,b,c=a+b,b+c,c+a+1
print(a%(10**9+7))
 abc分别表示子序列余3分别是012
abc一定要同时更新,不用py的同学可以额外建三个a2b2c2d,互相滚动,也是可以的

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐