B: Ocean的游戏

Time Limit: 1 s      Memory Limit: 128 MB

Submit My Status

Problem Description

给定一个字符串s,保证只包含小写的’o’,’c’,’e’,’a’,’n’。是否存在这样的偏序对<a,b,I,j,k>使得a<b<i<j<k 并且s[a]+s[b]+s[i]+s[j]+s[k]=”ocean”,请输出偏序对的个数。

Input

第一行输入一个整数n(1≤n≤105)n(1≤n≤105);

第二行输入一个长度为nn的字符串ss。

Output

输出一个整数(这个数可能十分大,对109+7109+7取模)

Sample Input

15

oooccceeeaaannn

Sample Output

243

#include<iostream>
#include<string.h>
#include<algorithm>
#define inf 1000000007
#define ll long long
using namespace std;
ll nn,num[111111][5];
char s[111111],p[5]={'o','c','e','a','n'};
int main()
{
scanf("%lld",&nn);
cin>>s;
ll o=0,oc=0;
for(int j=0;j<nn;j++)
{
if(s[j]==p[0])//出现o
o++;
num[j][0]=o;//记录o的个数
if(s[j]==p[1])//出现c,找oc个数
oc+=num[j][0]%inf;//oc个数=前面oc个数+前面o的个数
num[j][1]=oc%inf;//cout<<num[j][1];
}
ll n=0,an=0;
for(int j=nn-1;j>=0;j--)
{
if(s[j]==p[4])
n++;
num[j][4]=n;//cout<<c;
if(s[j]==p[3])
an+=num[j][4]%inf;
num[j][3]=an%inf;//cout<<num[j][3];
}
ll sum=0;
for(int i=0;i<nn;i++)
{
if(s[i]=='e')
sum+=(num[i][1]*num[i][3])%inf;
}
printf("%lld\n",sum%inf);
return 0;
}

B: Ocean的游戏(前缀和)的更多相关文章

  1. Ocean的游戏(前缀和)

    题目链接:http://oj.ismdeep.com/contest/Problem?id=1284&pid=1 B: Ocean的游戏 Time Limit: 1 s      Memory ...

  2. [动态差分+二维前缀和][小a的轰炸游戏]

    链接:https://ac.nowcoder.com/acm/contest/317/E来源:牛客网 题目描述 小a正在玩一款即时战略游戏,现在他要用航空母舰对敌方阵地进行轰炸 地方阵地可以看做是n× ...

  3. AcWing:239. 奇偶游戏(前缀和 + 离散化 + 带权并查集 + 异或性质 or 扩展域并查集 + 离散化)

    小A和小B在玩一个游戏. 首先,小A写了一个由0和1组成的序列S,长度为N. 然后,小B向小A提出了M个问题. 在每个问题中,小B指定两个数 l 和 r,小A回答 S[l~r] 中有奇数个1还是偶数个 ...

  4. adobe air类app 接入腾讯开放平台移动游戏使用带tencent包名前缀的问题

    作者:Panda Fang 出处:http://www.cnblogs.com/lonkiss/p/4209159.html 原创文章,转载请注明作者和出处,未经允许不可用于商业营利活动 ------ ...

  5. 洛谷OJ P2356 弹珠游戏 维护前缀和

    题目描述 Description MedalPluS 和他的小伙伴 NOIRP 发掘了一个骨灰级别的游戏--超级弹珠. 游戏的内容是:在一个 n*n 的矩阵里,有若干个敌人,你的弹珠可以摧毁敌人,但只 ...

  6. 【P2964】硬币的游戏(DP+前缀和)

    一道DP,思维难度真是不小. 首先对于这个题的数据,我们可以发现差不多可以支持n^2logn,但是貌似也不会有这种复杂度的线性DP(至少这个题看上去不是这样).所以我们考虑N^2做法.因为求得是价值和 ...

  7. 小a的轰炸游戏(差分,前缀和)

    题目传送门 题意: 给出一个n*m的矩形,然后有两个操作. 1操作,对一个给出的菱形,对菱形范围内的东西进行+1. 2操作,对一个上半菱形的区域,进行+1操作. 最后求矩形内各个数的异或和. 思路: ...

  8. 3D游戏中的画质与效率适配

      哪里来的需求? 众所周知,由于不同的设备配置不同.导致其CPU和GPU处理能力有高有低.同样的游戏想要在所有设备上运行流畅且画面精美,是不可能的.这就需要我们针对不同的设备能力进行画质调节,以保证 ...

  9. 解决adobe air sdk打包 apk后自动在包名前面加上air. (有个点)前缀的问题

    早就找到了这个方法,但是一直忙没心思写博客. 默认情况下,所有 AIR Android 应用程序的包名称都带 air 前缀.若不想使用此默认行为,可将计算机环境变量 AIR_NOANDROIDFLAI ...

随机推荐

  1. Linux7系列阅读

    1.[Centos7]hostnamectl 设置主机名 https://blog.csdn.net/dream361/article/details/56833248 2.ip addr https ...

  2. Linux安装JDK(rpm)

    我以JDK1.8为例 ⒈下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...

  3. 【转】Python之mmap内存映射模块(大文本处理)说明

    [转]Python之mmap内存映射模块(大文本处理)说明 背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力 ...

  4. Faster_RCNN 1.准备工作

    总结自论文:Faster_RCNN,与Pytorch代码: 代码结构:  simple-faster-rcnn-pytorch.py data __init__.py dataset.py util. ...

  5. Segmentation metrics

    (1)FCN中引入的四种Metrics:

  6. eMMC基础技术3:eMMC总线token

    1.前言 本文主要介绍eMMC 总线协议相关的内容,主要包括: (1)command token format (2)response token format (3)data packet form ...

  7. MVC 中Delete 方法报错问题解决方案

    最开始前台ajax提交时代码 function Del(id) { $.ajax({ type: "GET", url: "/Test/Delete", dat ...

  8. struts2框架之标签

    标签 1. <s:property> * default:默认值,例如:<s:property value="name" default="不存在&qu ...

  9. document.execCommand()的用法小记

    项目中遇到金额输入框限制只能输入数字,输入特殊字符或者字母汉字时间隔不到1秒内容就会自动清空.跟正则纠缠多年的我初次见到,很是神奇-.- 代码实现: <input type="text ...

  10. appium+java(七)图片的放到及缩小操作

    多点触控(MultiTouch) MultiTouch对象是触摸操作的集合. 多点触控手势只有两个方法,add和perform. add 用于将不同的触摸操作添加到当前的多点触控中. 当 perfor ...