奶牛贝茜在她最喜欢的牧场中发现了一块石碑,上面刻有神秘的碑文。

碑文的文字似乎来自一种神秘的古代语言,可看作一个只包含 C,O,W三种字符的字符串。

尽管贝茜无法解密该文字,但是她很欣赏 C,O,W按顺序构成她最喜欢的单词 COW。

她想知道 COW 在碑文中一共出现了多少次。

她不介意 C,O,W 之间是否存在其他字符,只要这三个字符按正确的顺序出现即可。

她也不介意多个不同的 COW 是否共享了一些字符。

例如,COW 在 CWOW 中只出现一次,在 CCOW 中出现两次,在 CCOOWW 中出现八次。

给定碑文中的文字,请帮助贝茜计算 COW 出现的次数。

输入格式

第一行包含 N。

第二行包含一个长度为 N 的字符串,其中只包含字符 C,O,W。

输出格式

输出给定字符串中 COW 作为子序列(不一定连续)的出现次数。

数据范围

1≤N≤10^5

输入样例:

6
COOWWW

输出样例:

6

分析 :

这道题是一道比较简单的dp+状态机类型题,我们可以发现,遍历字符串每一个字符时,当遍历到C时,它对答案的贡献就是将C的数量增加了1。当遍历到O时,CO的数量只取决于之前C的数量。同理,遍历到W的时候,COW的数量只取决于之前CO的数量。最后输出W对应的值即为答案。

N = int(input())lst = input()c,o,w = 0,0,0 # 分别代表当前 C的数量 CO的数量 COW的数量
for i in lst :if i == 'C' : # 若当前字符为C,c+1c += 1elif i == 'O' : # 若当前字符为O,当前CO的数量 o += celse : # COW的数量w += oprint(w)

Acwing:COW(DP+状态机 Python)相关推荐

  1. AcWing 1077. 皇宫看守(树形DP + 状态机DP)

    AcWing 1077. 皇宫看守(树形DP + 状态机DP) 一.问题 二.分析 1.思路分析 2.状态表示 3.状态转移 4.循环设计 5.初末状态 三.代码 一.问题 二.分析 1.思路分析 在 ...

  2. AcWing 1884. COW(状态机DP)

    [题目描述] 奶牛贝茜在她最喜欢的牧场中发现了一块石碑,上面刻有神秘的碑文. 碑文的文字似乎来自一种神秘的古代语言,可看作一个只包含C,O,WC,O,WC,O,W三种字符的字符串. 尽管贝茜无法解密该 ...

  3. DP 状态机模型 AcWing算法提高课 详解

    状态机模型 AcWing 1049. 大盗阿福 #include <iostream> #include <algorithm> #include <cmath> ...

  4. 洛谷、牛客网、AcWing 刷题(python版)

    牛客网python专项练习整理(一) https://blog.csdn.net/weixin_41913008/article/details/87203468 牛客网剑指offer--python ...

  5. LeetCode 91. Decode Ways--动态规划DP的Python和Java解法

    题目地址: LeetCode 动态规划(Dynamic programming)系列题目:LeetCode 动态规划(Dynamic programming)系列题目 A message contai ...

  6. P4590 [TJOI2018]游园会 dp套dp + 状态机

    传送门 文章目录 题意: 思路: 题意: 给你一个长度为nnn的串sss,其只包含NOINOINOI三个字母,给你一个mmm,代表ttt串的长度,ttt串包含NOINOINOI三个字母但是不存在三个连 ...

  7. 道格拉斯-普克 Douglas-Peuker(DP算法) python java实现

    1.道格拉斯-普克抽稀算法说明 道格拉斯-普克抽稀算法是用来对大量冗余的图形数据点进行压缩以提取必要的数据点. 该算法实现抽稀的过程是: 1)对曲线的首末点虚连一条直线,求曲线上所有点与直线的距离,并 ...

  8. Acwing 游戏时间 C++ python

    距离蓝桥杯还有45天 题目链接 问题描述: 根据y总的思路,通过转化为分钟计算,避免了复杂的多个判断语句. 首先声明最长时间不超过24h 只需考虑两种情况:比如开始时间是(7:20) 结束时间是(8: ...

  9. 战略游戏——树形dp+状态机——没有上司的舞会翻版

    战略游戏 思路: 由根节点出发,根据状态进行转移: 状态转移方程: f[u][0] +=f[i][1];f[u][1] += min(f[i][0],f[i][1]); 代码 #include < ...

最新文章

  1. 机房设备与线路资源管理
  2. java app上传图片接口_接口app 接口中上传 图片
  3. 海量数据处理:BitMap
  4. UVA1602 Lattice Animals 网格动物
  5. 【OS学习笔记】二十九 保护模式八:任务切换对应的汇编代码之用户程序代码
  6. Android开发技术周报 Issue#72
  7. 如何使用emacs编写c语言程序,并编译运行
  8. Redis之内存分析
  9. tf2.1下生成yolo.h5文件
  10. 网页版电脑桌面远程操控_我真的再也不买电暖器了 - 电暖器智能版
  11. 常用CSS的命名规范:
  12. 微积分(二)——曲线积分与曲面积分笔记
  13. “今日校园” App 用户体验分析
  14. java中的gc是什么意思的缩写_gc是什么意思(gc是什么意思的缩写)
  15. 自动注册11平台账号
  16. 简单好用的服务器压力测试小工具 ab
  17. 怎么制作升温曲线图_炉温曲线图是怎么看的啊!
  18. scala spark dataframe添加序号(id)列
  19. 微信的小程序和小游戏的区别
  20. 读华章书,写图书感受,就有机会获赠华章新书一册

热门文章

  1. java线程(Thread)的创建与常用方法
  2. [Java]窗口的跳转
  3. 信息化 vs 数字化
  4. 深度学习在恶意代码检测方面的应用简单调研
  5. 大数据之数仓基石Hive3.1.2实战
  6. 电脑调分辨率黑屏了怎么办_调整分辨率后黑屏 怎么调整显卡分辨率解决电脑黑屏...
  7. NUC-lib资源学习
  8. 李宁Matplotlib视频课程作业
  9. 了解如何通过简单的技巧在Photoshop或GIMP中制作HDR图像
  10. 水浸变送器水浸传感器的原理是什么?