【备战秋招】每日一题:2023.04.04-算法岗-蚂蚁机试(第三题)-子序列的权值和

为了更好的阅读体检,可以查看我的算法学习网
在线评测链接:P1158

题目内容

塔子哥是一名热爱字符串算法的程序员。他最近遇到了一个有趣的问题。

给定一个字符串 s s s,字符串中包含多少个 red 子串,就给这个字符串一个权值,权值就是 red 子串的数量。

例如: r e d d redd redd 权值为1, r e d r e d r redredr redredr 权值为2, r e e d reed reed 权值为0

现在考虑计算一个字符串 s s s 所有非空子序列的权值和。 答案可能很大,请对 1 e 9 + 7 1e9+7 1e9+7取模

长为 n n n 的字符串的非空子序列为 2 n − 1 2^n-1 2n1 个。

输入描述

输入第一行为一个字符串 s ( 1 ≤ ∣ s ∣ ≤ 100000 ) s (1 \leq |s| \leq 100000) s(1s100000)

输出描述

输出字符串所有非空子字符串的权值和。

样例

输入

rredd

输出

9
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

塔子哥学算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值