题目连接

https://www.acwing.com/problem/content/1886/

思路

对于一个COW单词,因为不要求连续,所以我们只需要对C求一个前缀和,W求一个后缀和,然后循环一边,遇到的是一个O的时候我们就将O的前缀和乘上W的后缀和就是我们当前O能组成的所有单词数量

代码

#include<bits/stdc++.h>
using namespace std;
//----------------自定义部分----------------
#define ll long long
#define mod 1000000009
#define endl "\n"
#define PII pair<int,int>int dx[4]={0,-1,0,1},dy[4]={-1,0,1,0};ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 2e6+10;
//----------------自定义部分----------------
int n,m,q,a[N],pre[N],later[N];int main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);cin>>n;string ch;cin>>ch;for(int i = 0;i < n; ++i) {//记录当前位置以及之前C的数量if(ch[i] == 'C')pre[i+1] = pre[i] + 1;else pre[i+1] = pre[i];}for(int i = n-1;i >= 0; --i) {//记录当前位置以及之后位置W的数量if(ch[i] == 'W')later[i+1] = later[i+2] + 1;else later[i+1] = later[i+2];}ll ans = 0;for(int i = 0;i < n; ++i) {if(ch[i] == 'O') ans += pre[i+1] * later[i+1];//遇到一个O我们就把左边的数量乘上右边的数量加在ans上面即可}cout<<ans<<endl;return 0;
}

AcWing 1884. COW(前缀和)相关推荐

  1. acwing 1884. COW

    文章目录 1884. COW 题目 输入格式 输出格式 数据范围 输入样例: 输出样例: 代码与解释 解法1 解法2 解法3 1884. COW 题目 https://www.acwing.com/p ...

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

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

  3. 【ACWing】1884. COW

    题目地址: https://www.acwing.com/problem/content/description/1886/ 奶牛贝茜在她最喜欢的牧场中发现了一块石碑,上面刻有神秘的碑文.碑文的文字似 ...

  4. 1884 COW(递推、状态机dp)

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

  5. Acwing:COW(DP+状态机 Python)

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

  6. 《算法竞赛进阶指南》打卡-基本算法-AcWing 99. 激光炸弹:二维前缀和

    文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 前缀和习惯从下标1开始. 注意:本题是不包含边界的.什么意思? 以样例为例,这里有两个点,分别在(0,0) 和(1,1),且攻击的矩 ...

  7. PAT甲级1046 Shortest Distance:[C++题解]前缀和

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 用前缀和快速求出一段的和.注意求两段,取最小值. ac代码 #include<bits/stdc++.h> using ...

  8. 《算法竞赛进阶指南》刷题记录

    总算闲下来一些辣!然后最近发现其实看书是真真很有效但是一直没有落实!所以决定落实一下这段时间把这本书看完题目做完! 然后发现还有挺多题目挺巧妙的于是一堆博客预警,,,可能最近会写很多比较水(但是我还是 ...

  9. 蓝桥杯刷题日记 更新到2022/2/5

    蓝桥杯刷题日记 文章目录 蓝桥杯刷题日记 DAY1 1.递归实现指数型枚举 2.递归实现组合型枚举 3.递归实现排列型枚举 Day2 1.八皇后问题 *2.费解的开关 3.带分数 Day3 1.飞行员 ...

最新文章

  1. hdu 1069 Monkey and Banana (LIS)
  2. Hive 01_初学必知
  3. 请求和响应向更多内容
  4. 自己动手写事件总线(EventBus)
  5. js 请求接口获取不到登录cookie xhrFields 配置
  6. JAVA的内存分配机制
  7. ajax读取文本无响应,如何获得jQuery$.ajax错误响应文本?
  8. mysql 乱码处理
  9. gflags.lib(gflags.obj) : error LNK2001: 无法解析的外部符号 __imp_PathMatchSpecA
  10. 字符串的碎片整理。。。
  11. 十四、K8s calico网络的通信及网络策略
  12. Atitit. Object-c语言 的新的特性  attilax总结
  13. Java反编译工具 luyten 0.5.3
  14. Linux下测试sdio,浅析Linux下sdio接口对sd卡硬件检测流程
  15. 看单片机原理图-电源电路
  16. 绘制三角形的外接圆和内接圆
  17. python pdf 定位关键字_Python对pdf中的关键字过滤(pdfminer3k或pdfminer使用)
  18. 开源)Java生成二维码分享海报
  19. AD10 BOM制作
  20. Nginx搭建文件下载服务器

热门文章

  1. Latex插入项目符号和编号{itemize}和{enumerate}
  2. Atom 编辑器安装 linter-eslint 插件,并配置使其支持 vue 文件中的 js 格式校验
  3. 软件测试之图覆盖(作业3)
  4. UI基础(四)之tableView (cell重用、原型cell、静态cell)/xib注意事项
  5. HDU_2156 分数矩阵
  6. C++基础总结(4)-----指针
  7. HibernateCRUD基础框架(1)-实体类
  8. 接活,你为啥不行,之懒
  9. [转载] 百科全说——漆浩:观手分辨五行人教您五行人的养生绝招(11-01-1011-01-11)...
  10. 浏览器的工作原理整理