AcWing 1884. COW(前缀和)
题目连接
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(前缀和)相关推荐
- acwing 1884. COW
文章目录 1884. COW 题目 输入格式 输出格式 数据范围 输入样例: 输出样例: 代码与解释 解法1 解法2 解法3 1884. COW 题目 https://www.acwing.com/p ...
- AcWing 1884. COW(状态机DP)
[题目描述] 奶牛贝茜在她最喜欢的牧场中发现了一块石碑,上面刻有神秘的碑文. 碑文的文字似乎来自一种神秘的古代语言,可看作一个只包含C,O,WC,O,WC,O,W三种字符的字符串. 尽管贝茜无法解密该 ...
- 【ACWing】1884. COW
题目地址: https://www.acwing.com/problem/content/description/1886/ 奶牛贝茜在她最喜欢的牧场中发现了一块石碑,上面刻有神秘的碑文.碑文的文字似 ...
- 1884 COW(递推、状态机dp)
1. 问题描述: 奶牛贝茜在她最喜欢的牧场中发现了一块石碑,上面刻有神秘的碑文.碑文的文字似乎来自一种神秘的古代语言,可看作一个只包含 C,O,W 三种字符的字符串.尽管贝茜无法解密该文字,但是她很欣 ...
- Acwing:COW(DP+状态机 Python)
奶牛贝茜在她最喜欢的牧场中发现了一块石碑,上面刻有神秘的碑文. 碑文的文字似乎来自一种神秘的古代语言,可看作一个只包含 C,O,W三种字符的字符串. 尽管贝茜无法解密该文字,但是她很欣赏 C,O,W按 ...
- 《算法竞赛进阶指南》打卡-基本算法-AcWing 99. 激光炸弹:二维前缀和
文章目录 题目解答 题目来源 题目解答 来源:acwing 分析: 前缀和习惯从下标1开始. 注意:本题是不包含边界的.什么意思? 以样例为例,这里有两个点,分别在(0,0) 和(1,1),且攻击的矩 ...
- PAT甲级1046 Shortest Distance:[C++题解]前缀和
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 用前缀和快速求出一段的和.注意求两段,取最小值. ac代码 #include<bits/stdc++.h> using ...
- 《算法竞赛进阶指南》刷题记录
总算闲下来一些辣!然后最近发现其实看书是真真很有效但是一直没有落实!所以决定落实一下这段时间把这本书看完题目做完! 然后发现还有挺多题目挺巧妙的于是一堆博客预警,,,可能最近会写很多比较水(但是我还是 ...
- 蓝桥杯刷题日记 更新到2022/2/5
蓝桥杯刷题日记 文章目录 蓝桥杯刷题日记 DAY1 1.递归实现指数型枚举 2.递归实现组合型枚举 3.递归实现排列型枚举 Day2 1.八皇后问题 *2.费解的开关 3.带分数 Day3 1.飞行员 ...
最新文章
- hdu 1069 Monkey and Banana (LIS)
- Hive 01_初学必知
- 请求和响应向更多内容
- 自己动手写事件总线(EventBus)
- js 请求接口获取不到登录cookie xhrFields 配置
- JAVA的内存分配机制
- ajax读取文本无响应,如何获得jQuery$.ajax错误响应文本?
- mysql 乱码处理
- gflags.lib(gflags.obj) : error LNK2001: 无法解析的外部符号 __imp_PathMatchSpecA
- 字符串的碎片整理。。。
- 十四、K8s calico网络的通信及网络策略
- Atitit. Object-c语言 的新的特性 attilax总结
- Java反编译工具 luyten 0.5.3
- Linux下测试sdio,浅析Linux下sdio接口对sd卡硬件检测流程
- 看单片机原理图-电源电路
- 绘制三角形的外接圆和内接圆
- python pdf 定位关键字_Python对pdf中的关键字过滤(pdfminer3k或pdfminer使用)
- 开源)Java生成二维码分享海报
- AD10 BOM制作
- Nginx搭建文件下载服务器
热门文章
- Latex插入项目符号和编号{itemize}和{enumerate}
- Atom 编辑器安装 linter-eslint 插件,并配置使其支持 vue 文件中的 js 格式校验
- 软件测试之图覆盖(作业3)
- UI基础(四)之tableView (cell重用、原型cell、静态cell)/xib注意事项
- HDU_2156 分数矩阵
- C++基础总结(4)-----指针
- HibernateCRUD基础框架(1)-实体类
- 接活,你为啥不行,之懒
- [转载] 百科全说——漆浩:观手分辨五行人教您五行人的养生绝招(11-01-1011-01-11)...
- 浏览器的工作原理整理